如何从字符串中提取所有电子邮件?

时间:2015-03-11 03:44:41

标签: php html regex string email

如何删除? 我有30万行的html文件 我想删除所有竞争,所有标签,所有内容,但保留电子邮件。 文件中的示例:

ght="20"valign="top"bgcolor="#FFFFFF"><spanclass="style43style44">+995</strong>

<a href="mailto:mail@mail.com">mail@mail.com</a>

:fefw.gefew?chat">rewews</a>
此文件中的

是1000个电子邮件地址。

1 个答案:

答案 0 :(得分:1)

试试这个例子:

<?php

$content = 'ght="20"valign="top"bgcolor="#FFFFFF"><spanclass="style43style44">+995</strong>

<a href="mailto:mail@mail.com">mail@mail.com</a>
<a href="mailto:pol@hotmail.it">pol@hotmail.it</a>
john@doe.col-
:fefw.gefew?chat">rewews</a>';

$matches = array(); //create array
$pattern = "/[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})/i";

preg_match_all($pattern, $content, $matches); 

print_r(array_values(array_unique($matches[0])));

?>