3

我目前正在编写一个脚本来过滤我收到的一些电子邮件内容。

这些电子邮件是对我的时事通讯活动的回复,我想知道谁想退订。为此,我可以寻找一些特定的词,例如“请”、“删除”,并且我还必须检查电子邮件是否是从 mailer-daemon 发送的,以便提醒用户更改他的电子邮件地址下次他登录时。

首先,我必须从 MySQL 数据库中检索字典,它目前包含 77 个单词,然后我为我处理的每封邮件中的每个单词调用两个 preg_match_all 函数。

我想检查\bplease\b邮件内容中是否可以看到整个单词,有些人可能会写错单词“pleease”,然后我再使用\bp+l+e+a+s+e+\b

但是字典越来越大,里面添加的单词越来越多,脚本越来越慢,每秒至少处理 4 封电子邮件。

你有什么其他方法可以比现在更快地处理邮件吗?

构建匹配 77 个单词的正则表达式而不是执行 77 个 preg_match_all 命令会更快吗?

4

1 回答 1

2

对于您的问题,“构建匹配 77 个单词而不是执行 77 个 preg_match_all 命令的正则表达式会更快吗?”我建议根本不使用正则表达式。我可能是错的,但我认为字符串函数比正则表达式更快。阅读:http ://www.webdeveloper.com/forum/showthread.php?190485-performance-doubts-regex-vs-string-functions-using-this-and-1-more-doubt!-plz !-)另请阅读这更有效,PHP 字符串函数或 PHP 中的正则表达式?

于 2012-09-07T13:43:13.713 回答