У меня есть текстовый файл с некоторыми членами информации об организационных экспертах. Теперь я хочу извлечь из него только адреса электронной почты.
Пример файла:
a@a.com jhgvhdhf bahau@gmail.com hdghfd G@g.com
Как я могу извлечь все строки, заканчивающиеся на @hotmail.com
? Если filename является foo.txt …
Загрузите данные в строку (я использую для этого $str
) и применяю регулярное выражение электронной почты:
$pattern = '/[A-Z0-9._%+-]+@[^\.].*\.[az]{2,}/i'; if (preg_match($pattern, $str, $matches)){ echo $matches[1]; }
Как сказал Гай ниже, вы можете загрузить файл в строку с помощью:
$str = file_get_contents('/path/to/file');
РЕДАКТИРОВАТЬ:
Для hotmail вы можете изменить шаблон:
$pattern = '/[A-Z0-9._%+-]+@hotmail.com/i';