gpt4 book ai didi

php - 审查可能包含标记的不当词的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 05:16:20 24 4
gpt4 key购买 nike

我运行一个大型网站,其中包含数百万个用户生成的包含 HTML 的帖子。其中一些帖子包含我的广告商不想在旁边做广告的敏感词。与其删除这些帖子,我宁愿删除“坏”字眼。我还需要保留标记,因为让用户标记他们的帖子是该网站的一个主要功能。

我目前正在使用搜索并替换为 str_ireplace() ,但我们的作者已经变得聪明,并且正在做一些事情(如下)会漏掉我的原始过滤器。我可以剥离标签并检测不适当的词,但我正在寻找一种替换词的方法,同时保持标记不变。

例子:

成功审查:

input:  "<p>Mary is a bitch.</p>"
output: "<p>Mary is a *****.</p>"

审查不成功:
input:          "<p>Mary is a <strong>b</strong>itch.</p>"
failed output: "<p>Mary is a <strong>b</strong>itch.</p>"
desired output: "<p>Mary is a <strong>*</strong>****.</p>"

最佳答案

只是为了好玩,这里有一种快速而肮脏的方式:

$badWords = array('bitch', 'jerk');
$input = '<p>Mary is a <strong>b</strong>itch. </p>';

$arr = explode(' ', $input);

foreach($arr as $key => $word)
{
$word = str_replace('.', '', strip_tags($word));
if(in_array($word, $badWords))
{
$arr[$key] = '*****';
}
}

$output = implode(' ', $arr);
echo $output;

输出
<p>Mary is a ***** </p>

以上将文本拆分为单词,适用于 strip_tags()在每个单词上,这样它就不会影响整个内容。

不过,正如评论指出的那样,仍有很多方法可以解决。你永远不会得到一个完美的解决方案来处理他们投入的一切——你需要创造一些接近人工智能的东西。我认为最好的真正解决方案是 strip_tags()在整个帖子中搜索坏词,如果找到的话,标记帖子以引起版主注意。或者只是拥有一个带有活跃版主的报告发布系统。

关于php - 审查可能包含标记的不当词的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14216524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com