如何从多个文本文件中提取电子邮件地址

时间:2009-11-30 23:10:17

标签: php

我有大约96K文本电子邮件,我想提取发件人的地址。我相信我可以使用domdoc,但是需要有人帮我开始。有人可以建议是否有更好的方法吗?

谢谢, 吉姆

2 个答案:

答案 0 :(得分:2)

在PHP中没有理由这样做...如果文件是某种形式的平面文本,请将文件复制到(例如)电子邮件/目录,然后

cat * | grep "From: " | egrep -oi ‘\b[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}’ | sort | uniq > mail.list

当然,如果您 在PHP中执行此操作,那么

  1. 将文件/邮件复制到目录
  2. 使用readdir()
  3. 获取文件列表
  4. 阅读文件
  5. 将标题拆分为单独的字符串
  6. 在此字符串上执行preg_match()以查找电子邮件地址并将其放入$ email_arr
  7. 完成后,在$ email_arr上执行array_unique()。

答案 1 :(得分:0)

以某种形式使用正则表达式是最好的方法。如果您可以将文本电子邮件保存到文件,则可以使用Textpad等内容根据正则表达式搜索电子邮件地址。

您应该能够在线找到电子邮件地址的正则表达式。