如何用PHP更快地过滤电子邮件


How can I filter my e-mails faster in PHP?

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

这些电子邮件是对我的时事通讯活动的回复,我想知道谁想取消订阅。为此,我可以查找一些特定的单词,如"请"、"删除",我还必须检查电子邮件是否是从邮件守护程序发送的,这样我就可以在用户下次登录时提醒他更改电子邮件地址。

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

我想检查一下,在电子邮件内容中是否可以看到整个单词'bplease'b,有些人可能会犯错误,把这个单词写为"pleease",然后我使用'bp+l+e+a+s+e+'b

但dictionary正在成长,里面添加了越来越多的单词,脚本也越来越慢,每秒至少处理4封电子邮件。

你还有其他办法比现在更快地处理邮件吗?

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

对于您的问题,"构建一个匹配77个单词的正则表达式而不是执行77个preg_match_all命令会更快吗?"我建议您根本不要使用正则表达式。我可能错了,但我认为字符串函数比正则表达式更快。阅读以下内容:http://www.webdeveloper.com/forum/showthread.php?190485-性能-毋庸置疑-regex-vs-string-functions-using-this-and-1-更多-毋庸置疑-plz!-)另请阅读以下内容:PHP字符串函数和PHP中的正则表达式哪个更高效?