Mail Addy / String aus DB bzw. String aus DB filtern

A5 Infoschlampe

Erfahrenes Mitglied
Hi,

habe gegoogelt und hier gesucht, leider nichts gefunden, und komme leider nicht weiter.

Ich habe einen String (steht in einer sql-DB, ist aber nicht weiter wichtig).
Der String schaut z.B. so aus:

$string = "Hallo,
ich bin ein String, Wörter normal mit Leerzeichen getrennt. blablubldflsdflfddsf! Und ziemlich am Ende steht nun meine Mail Adresse, die da lautet bill@gates.com. So String ist nun zu ende."

Okay - nun brauch ich die Mailadressse aus diesem Text.
Lösungansatz?! Im Prinzip müsste man nach dem "@" Zeichen suchen, dann von der Position des @-Zeichens nach links gehen bis zum ersten Leerzeichen, dann nach rechts bis zum ersten Leerzeichen, oder!

Nur wie ich das jetzt umsetzen soll so...hmm Hilfe wäre nicht schlecht?!

Danke schonmal fürs durchlesen!
Gruß Dan
 
Zuletzt bearbeitet:
preg_match() ist da Hilfreich:
PHP:
$string = "Hallo, ich bin ein String, Wörter normal mit Leerzeichen getrennt. blablubldfldflfddsf! Und ziemlich am Ende steht nun meine Mail Adresse, die da lautet Bill.gates@gates.com. So String ist nun zu ende.";
 preg_match('/\b[\w\d._-]+@[\w\d][\w\d.-]{0,61}[\w\d]\.[\w.]{2,6}\b/',$string,$email);
 echo $email[0];
 
 
 .
 
Zuletzt bearbeitet:
Schonmal was von regulären Ausdrücken gehört? Die haben den Vorteil, dass die Addresse gut und gerne Variabel sein kann. Das Beispiel, das ich noch gepostet haben funktioniert ja!
 
Ich hab noch ne Frage im Nachhinein:

Wie kann ich anstelle der Emailadressen nun Domainnamen im Format "www.abc.xy(z)" finden?

Verstehe die Syntax von preg_match nämlich nicht so ganz...
 
Naja schau Dir doch einfach mal an nach was Du bei einer Email suchst...
Code:
'/\b[\w\d._-]+@[\w\d][\w\d.-]{0,61}[\w\d]\.[\w.]{2,6}\b/'
irgendwelche Zeichen @ irgendwelche Zeichen . irgendwelche Zeichen
und jetzt möchtest Du
www. irgendwelche Zeichen . irgendwelche Zeichen bzw. http://www. irgendwelche Zeichen . irgendwelche Zeichen
jetzt siehste aber, was Du ändern musst, oder?

vg Clemens
 
Zurück