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\/)">"的标签,然后排除不显示就行了,不知道各位大虾是怎么做的,帮帮忙吧 展开
-----------------------------------代码开始-----------------------------------
<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\/)">"的标签,然后排除不显示就行了,不知道各位大虾是怎么做的,帮帮忙吧 展开
5个回答
展开全部
中文可以用正则表达式进行匹配,但是具体匹配方法与中文的编码方式有关:
如果是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";
}
?>
展开全部
写好了,过滤所有标签。。
<?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;
?>
<?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;
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jscode: str.replace (/<.*?>/g, '');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-04-11
展开全部
$结果 = strip_tags($原内容);
只留文字,去除全部标签!
只留文字,去除全部标签!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php有自带的函数strip_tags(),不需要正则,效率还慢
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询