PHP正则提取中文部分内容,怎么实现呀?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP正则提取中文部分内容,怎么实现呀?相关的知识,希望对你有一定的参考价值。
页面编辑后数据库内的代码如下:
-----------------------------------代码开始-----------------------------------
<br /><strong>
这里是我想要提取的中文部分一,</strong>这里是我想要提到的<font color="red">中文部分二</font>,<a href="www.baidu.com">百度</a>,这里是要提取的中文部份……<div id="main">这里也是需要提取的部分</div>…………以下省略N字
-----------------------------------代码结束-----------------------------------
而我想要得到的前台调用内容只需要中文就行了,如下:
-----------------------------------想要的文字开始-----------------------------------
这里是我想要提取的中文部分一,这里是我想要提到的中文部分二,百度,这里是要提取的中文部份……这里也是需要提取的部分…………以下省略N字
-----------------------------------想要的文字结束-----------------------------------
笔者经过对比发现,这些格式标签和CSS+DIV标签主要是由下面这些符号构成,比如"<" ">" "/" "a-z" "A-Z" '"' ,总结了下,无非就是用正则排除类似格式为:"<"(a-zA-Z\/)">"的标签,然后排除不显示就行了,不知道各位大虾是怎么做的,帮帮忙吧
中文可以用正则表达式进行匹配,但是具体匹配方法与中文的编码方式有关:
如果是GBK(GB2312、GB1080),那么中文的编码范围是:
\\x80-\\xff
如果是UTF-8编码,那么中文的编码范围是:
\\u4e00-\\u9fa5
那么匹配汉字的正则表达式可以是:
/[\\x7f-\\xff]+/
或者
/[\\u4e00-\\u9fa5]+/
例子代码,显示文件中的所有汉字(GBK编码):
<?php$s=file_get_contents(\'1.txt\');
if (preg_match_all(\'/[\\x7f-\\xff]+/\', $s, $r))
for ($i=1;$i<count($r[0]);$i++) echo "$i\\t".$r[0][$i]."\\n";
?> 参考技术A 写好了,过滤所有标签。。
<?php
$str = '<br /><strong>这里是我想要提取的中文部分一,</strong>这里是我想要提到的<font color="red">中文部分二</font>,<a href="www.baidu.com">百度</a>,这里是要提取的中文部份……<div id="main">这里也是需要提取的部分</div>';
$new = preg_replace('/\<.+?\>/i','',$str);
echo $new;
?> 参考技术B jscode: str.replace (/<.*?>/g, ''); 参考技术C $结果 = strip_tags($原内容);
只留文字,去除全部标签! 参考技术D php有自带的函数strip_tags(),不需要正则,效率还慢本回答被提问者采纳
php 正则表达式 匹配网站内容
我怎么匹配到这两个P 标签里的内容
<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all
//提取所有代码
$pattern = \'/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is\';
preg_match($pattern, $string, $match);
//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码
echo $match[0];
//然后再提取<li></li>之间的内容
$pattern = \'/<li.*?>(.+?)<\\/li>/is\';
preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);
foreach($new_arr as $kkk)
echo $kkk;
参考技术A preg正则以上是关于PHP正则提取中文部分内容,怎么实现呀?的主要内容,如果未能解决你的问题,请参考以下文章