Wenn es einen gibt, der damit umgehen könnte, wie würde das richtige Regex-Muster aussehen, um E-Mail-Adressen aus einem String zu extrahieren, der aus einer E-Mail-Formularzeile "An" stammt, das Adressen durch Kommas ",", Semikolons ";", Leerzeichen oder eine Kombination der drei trennt. Das Regex muss auch in der Lage sein, "Störtext" zu ignorieren, z. B. wenn eine Adresse in Zeichen "<" und ">" eingeschlossen ist oder einen tatsächlichen Namen neben der E-Mail-Adresse hat. Zum Beispiel aus diesem String, der im An-Feld war:
"Joe Smith" , kjones@aol.com; someoneelse@nowhere.com mjane@gmail.com
Das Muster sollte die folgenden Übereinstimmungen zurückgeben können: jsmith@example, kjones@aol.com, someoneelse@nowhere.com, mjane@gmail.com
Ich benutze PHP, also wenn das nicht in einem einzigen Regex gemacht werden kann, bin ich definitiv für andere PHP-basierte Lösungen offen.
Danke
3 Stimmen
Benutzen Sie eine E-Mail-Parser-Bibliothek. Es ist nicht notwendig, dies selbst zu tun. (Sie sind nicht der erste PHP-Programmierer, der E-Mail-Header analysieren muss.)