PHP – Как определить адреса электронной почты из ввода, содержащего строки разных данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP – Как определить адреса электронной почты из ввода, содержащего строки разных данных

Сообщение Anonymous »

Заранее извиняюсь за еще один запрос на сопоставление шаблона электронной почты.
Вот что у меня есть на данный момент:

Код: Выделить всё

$text = strtolower($intext);
$lines = preg_split("/[\s]*[\n][\s]*/", $text);
$pattern = '/[A-Za-z0-9_-]+@[A-Za-z0-9_-]+\.([A-Za-z0-9_-][A-Za-z0-9_]+)/';
$pattern1= '/^[^@]+@[a-zA-Z0-9._-]+\.[a-zA-Z]+$/';
foreach ($lines as $email) {
preg_match($pattern,$email,$goodies);
$goodies[0]=filter_var($goodies[0], FILTER_SANITIZE_EMAIL);
if(filter_var($goodies[0], FILTER_VALIDATE_EMAIL)){
array_push($good,$goodies[0]);
}
}
$Pattern работает нормально, но адреса .rr.com (и другие проблемы, я уверен) удалены из .com

$pattern1 захватывает только те электронные письма, которые находятся в отдельной строке.

Я вставляю целую страницу разного текста в текстовую область, содержащую несколько писем из старый файл данных, который я пытаюсь восстановить.

Все работает отлично, за исключением писем с более чем одним знаком "." либо до, либо после "@".

Я уверен, что здесь должно быть и больше проблем.

Я попробовал несколько узоров, которые нашел, а также некоторые, которые пытался написать.

Может ли кто-нибудь показать мне свет, прежде чем я выдерну оставшиеся волосы?

Подробнее здесь: https://stackoverflow.com/questions/369 ... -misc-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»