php-dfa-sensitive
php-dfa-sensitive copied to clipboard
遇到干扰符号的该怎么处理
`
// 获取感词库索引数组
$wordData = array(
'傻逼',
'狗',
'麻痹',
'尼玛',
);
$content = "我擦,——————————你麻痹的——————,尼玛的,你个傻逼";
// 敏感词替换为***为例
$filterContent = SensitiveHelper::init()->setTree($wordData)->replace($content, '*');
var_dump($filterContent);
`
例如 $content = $content = "我擦,——————————你麻。。。痹的——————,尼玛的,你个傻逼";
“麻痹”,中间加了“。。。” 变成 “麻。。。痹”,该如何处理?
我在想一个思路直接将常见符号过滤,将表情符号语义化,然后进行检查。
这种情况比较难避免,有的用户还会通过谐音字或者拼音等替换。针对你这种情况,我的想法是可以分两种情况处理。 一:可以将干扰符号先过滤,如果判定是有敏感词的,可以直接提示给用户。 二:可以将扩展fork,当匹配到特殊符号时候跳过,直到匹配到下一个汉子再进行敏感词检查