我运行一个大型网站,其中包含数百万用户生成的包含 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>"