如何在PHP中更快地过滤我的电子邮件?

时间:2012-09-07 13:33:26

标签: php regex email filter

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

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

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

我想检查是否可以在电子邮件内容中看到整个单词\bplease\b,有些人可能会犯错误并将单词写成“pleease”,然后我使用\bp+l+e+a+s+e+\b之后。

但是词典正在成长,内部添加的词越来越多,脚本越来越慢,每秒至少处理4封电子邮件。

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

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

1 个答案:

答案 0 :(得分: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!-)另请阅读此Which is more efficient, PHP string functions or regex in PHP?