> 백엔드 개발 > PHP 튜토리얼 > 正则表达式 - 一个PHP正则的问题

正则表达式 - 一个PHP正则的问题

WBOY
풀어 주다: 2016-06-06 20:33:25
원래의
1069명이 탐색했습니다.

//排除图片中的关键词

<code>$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);
</code>
로그인 후 복사
로그인 후 복사

大家帮忙看下这段代码有问题吗,我是想img标签里的关键词,如'你好'替换掉,却总是无法正确执行! html标签已都转为实体,如已解析成<>

回复内容:

//排除图片中的关键词

<code>$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);
</code>
로그인 후 복사
로그인 후 복사

大家帮忙看下这段代码有问题吗,我是想img标签里的关键词,如'你好'替换掉,却总是无法正确执行! html标签已都转为实体,如已解析成<>

先转换回去再匹配就好了嘛。。。

<code>php</code><code>echo preg_replace('/[\x{4e00}-\x{9fa5}]+/u','%&&&&&%', $content);
</code>
로그인 후 복사

$str = "!工aaa工地";
preg_match_all("/([\x{4e00}-\x{9fa5}])/u",$str,$match);//匹配UTF8中文汉字
var_dump($match);
exit;
做中文匹配的时候,会有多方面的影响比如编码格式(utf-8,unicode,gbk,big5等)
如果不确定要找的范围, 就上网找对应的编码的编码表

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿