php正则表达式去掉特定字符串2017-09-21 22:29
前面我们分享了在php中,如何使用正则表达式去掉超链接的文章。
今天有小伙伴问小编。
我网站的评论里面,每天都有人发小广告,发超链接。
但是有些我又不想删除,比如说发的内容里面包含http://www.baidu.com,我只想留下baidu这个词,该如何写正则表达式呢?
我们可以这样写
$str=preg_replace("(]*>||http://|https://|www.|.com|.cn|.com.cn|.net|.org|.cc)","",$str);
这段正则表达式,可以删除超链接,也可以将http://或www.或.com这些字符去掉。
但是还不完美,因为有些人可能会将“www”改成大写的“WWW”,亦或是写成“wWw”之类就无法清楚了。
这是我们可以改成这样的。
$str=preg_replace("(]*>||http://|https://|www.|.com|.cn|.com.cn|.net|.org|.cc)","",strtolower($str));
将字符串转换成小写,就解决了。
但是如果,有些写成全角状态下的,比如“baidu.COM”小编也没办法了,除非你一个一个的去匹配。