假设“xyza”是一个坏词。我正在使用以下方法来替换攻击性词语 -
$text = str_replace("x***","(Offensive words detected & removed!)",$text);
此代码会将 xyza 替换为“(检测到并删除攻击性词语!)”。
但问题是“案例”,如果有人输入 XYZA 我的代码无法检测到它。怎么解决呢?
无论你做什么,用户will找到绕过过滤器的方法。他们将使用 unicode 字符 (аss
,例如,使用西里尔字母а
并且不会被任何正则表达式解决方案捕获)。他们会使用空格、美元符号、星号,以及任何你还没有掌握的东西。
如果家庭友好性对您的申请至关重要,请在发布之前请专人审查内容。否则,请添加标记功能,以便其他人可以标记攻击性内容。更好的是,使用某种机器学习或贝叶斯过滤器来自动标记潜在的攻击性帖子,并让人们手动检查它们。人们比计算机更好地阅读人类语言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)