假设"xyza"是一个坏词.我正在使用以下方法取代令人反感的词汇 -
$text = str_replace("x***","(Offensive words detected & removed!)",$text);
Run Code Online (Sandbox Code Playgroud)
此代码将xyza替换为"(检测到并删除了令人反感的词!)".
但问题是"案例"如果有人输入XYZA我的代码无法检测到它.怎么解决?
Ble*_*der 11
无论您做什么,用户都会找到绕过您的过滤器的方法.他们将使用unicode字符(?ss例如,使用西里尔字符,?并且不会被任何正则表达式解决方案捕获).他们将使用空格,美元符号,星号,无论你还没有抓住它们.
如果家庭友好对您的申请至关重要,请让某人在内容上线之前对其进行审核.否则,添加一个标记功能,以便其他人可以标记令人反感的内容.更好的是,使用某种机器学习或贝叶斯过滤器来自动标记可能令人反感的帖子并让人类手动检查它们.人们比计算机更好地阅读人类语言.
使用str_ireplace函数,str_replace() 的不区分大小写版本
$text = str_ireplace("flip","(Offensive words detected & removed!)", $text);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |