鍍金池/ 問答/PHP/ 深度過濾文章中的違禁詞

深度過濾文章中的違禁詞

深度過濾文章中的違禁詞

例:過濾的關(guān)鍵詞為 "朋友圈",而title 中有可能是 “我是朋友圈” “我是朋-友*圈”,等等類似的,在要屏蔽的關(guān)鍵詞中可能會有不同的字符進(jìn)行分割,這種類型的title要怎么深度過濾這些關(guān)鍵詞?

str_replace 等正則過濾無法監(jiān)測出title里的特殊字符,如 “我是朋-友*圈”

回答
編輯回答
小曖昧

$array = [ 'xxx' => '*' ]
strtr($str, $arr);

2017年2月2日 16:04
編輯回答
護(hù)她命

先過濾掉特殊字符在過濾你想過濾的關(guān)鍵詞
如果過濾特殊字符后,過濾關(guān)鍵詞為0就使用原來的字符串
如果過濾特殊字符后,過濾關(guān)鍵詞不為0就使用過濾后的字符串

2018年2月3日 13:26
編輯回答
解夏
$pattern = array('/朋([\s\S]?)*友([\s\S]?)*圈/i','/分[\s\S]?享/i','/砍[\s\S]?價/i');
$replacement = '***';
echo  preg_replace($pattern, $replacement, $str);

用正則去掉了

2017年3月21日 21:40