这个主题可能不像它可能的那样清晰,但我正在努力想出一种更好的方式来描述它。
我正在对我们从XML提要中提取的一些文章实现一个坏词过滤器。目前,我将坏词放入数组中,简单地检查文本,如下所示;
str_replace($badwords, '', $text, $count);
if ($count > 0) // We have bad words... 但是这太慢了!太慢了!当我试图一次处理30,000+文章时,我开始怀疑是否有更好的方法来实现这一点。如果只有strpos支持的数组!即使这样,我也不认为它会更快。
我很乐意给你任何建议。提前感谢!
编辑:
现在,我已经在调用microtime()之间测试了一些方法来对它们进行计时。str_replace() = 990秒preg_match() = 1029秒(请记住,我只需要识别它们,而不是替换它们)没有不好的词过滤= 1057秒(大概是因为它还有1000多篇用词不好的文章要处理。
谢谢你所有的答案,我将继续使用str_replace。:)
发布于 2009-09-16 01:54:01
https://stackoverflow.com/questions/1430429
复制相似问题