如何通过php从文件中提取特定字符串(电子邮件)

如何通过php从文件中提取特定字符串(电子邮件),php,Php,我有一个文本文件,其中有一些成员关于组织专家的信息。现在我只想从中提取电子邮件地址 示例文件: 如何提取以@hotmail.com结尾的所有字符串?如果文件名为foo.txt…将数据加载到字符串中,我将使用$str进行加载,并应用电子邮件正则表达式: $pattern = '/[A-Z0-9._%+-]+@[^\.].*\.[a-z]{2,}/i'; if (preg_match($pattern, $str, $matches)){ echo $matches[1]; } 正如Guy

我有一个文本文件,其中有一些成员关于组织专家的信息。现在我只想从中提取电子邮件地址

示例文件:


如何提取以@hotmail.com结尾的所有字符串?如果文件名为foo.txt…

将数据加载到字符串中,我将使用$str进行加载,并应用电子邮件正则表达式:

$pattern = '/[A-Z0-9._%+-]+@[^\.].*\.[a-z]{2,}/i';
if (preg_match($pattern, $str, $matches)){
    echo $matches[1];
}
正如Guy在下面所评论的,您可以使用以下命令将文件加载到字符串中:

$str = file_get_contents('/path/to/file'); 
编辑:

对于hotmail,您可以将模式更改为:

$pattern = '/[A-Z0-9._%+-]+@hotmail.com/i';

只需指出这样一个事实,即您可以使用$str=file_get_contents'/path/to/file'获取$str;最后,如何使用@hotmail.com提取所有字符串。如果txt文件的名称为foo.txt,则我更新了hotmail。
$pattern = '/[A-Z0-9._%+-]+@hotmail.com/i';