如何只从列表中获取邮件?

时间:2016-05-16 19:51:56

标签: php html regex

我有一个html上下文,其中包含纯文本格式的用户名,邮件和密码。信息组之间有两个换行符。

nickname
mail@example.com
pass


nickname2
mail2@example.com
pass2

我想用逗号分隔符获取所有邮件并将它们设置为一个大字符串变量。

我尝试了许多正则表达但无法解决问题。任何建议找到真正的正则表达式将不胜感激。

2 个答案:

答案 0 :(得分:2)

模式:

.+@.+.\.\w+

实施例: https://regex101.com/r/nM1hK3/2

被修改

答案 1 :(得分:0)

如果.txt文件不是太大(如果你有足够的内存和时间):

$lines = file('mails.txt',FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

function get_emails($val)
{
  if (filter_var($val, FILTER_VALIDATE_EMAIL)) {
    return $val;
}
}
$emails=array_filter($lines,"get_emails");
//print_r($emails);

$emails_var=join(",",$emails);
//echo $emails_var;

' mails.txt' - >当然是你文件的路径。