时间:2021-07-01 10:21:17 帮助过:38人阅读
$content = "<p><img alt="a你好bb" class="fr-fin fr-dib" src="http://frbird.qiniudn.com/topic/150609/5576afcd7fd32e334ece5f67-hd.jpg"><";
$content = preg_replace("/(<img\s[^>]*?)(你好)([^>]*?>)/", '$1%&&&&&%$3', $content);
大家帮忙看下这段代码有问题吗,我是想img标签里的关键词,如'你好'替换掉,却总是无法正确执行! html标签已都转为实体,如<>
已解析成<>
//排除图片中的关键词
$content = "<p><img alt="a你好bb" class="fr-fin fr-dib" src="http://frbird.qiniudn.com/topic/150609/5576afcd7fd32e334ece5f67-hd.jpg"><";
$content = preg_replace("/(<img\s[^>]*?)(你好)([^>]*?>)/", '$1%&&&&&%$3', $content);
大家帮忙看下这段代码有问题吗,我是想img标签里的关键词,如'你好'替换掉,却总是无法正确执行! html标签已都转为实体,如<>
已解析成<>
先转换回去再匹配就好了嘛。。。
php
echo preg_replace('/[\x{4e00}-\x{9fa5}]+/u','%&&&&&%', $content);
$str = "!工aaa工地";
preg_match_all("/([\x{4e00}-\x{9fa5}])/u",$str,$match);//匹配UTF8中文汉字
var_dump($match);
exit;
做中文匹配的时候,会有多方面的影响比如编码格式(utf-8,unicode,gbk,big5等)
如果不确定要找的范围, 就上网找对应的编码的编码表