phpbar.de logo

Mailinglisten-Archive

[php] Email mit Regular Expressions suchen

[php] Email mit Regular Expressions suchen

Alexander Weber php_(at)_phpcenter.de
Mon, 21 Jan 2002 16:27:26 +0100


Marco Kaiser wrote:
> <?php
> $test = "blub_(at)_blub.de";
> 
> if
> (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'_(at)_'.'([-!#$%&\'*+\\/0-9=?A-
> Z^_`a-z{|}~]+)\.'.'de+$', $test, $treffer)) {
>         if ($treffer[1]!="gmx") {
>                 echo "VALID";
>         }
> }
> ?>
> 
> hilft dir das weiter?
Ist schon mal gar nicht schlecht. Nur wenn ich das richtig lese, enthält
der Ausdruck eine Plausibilitätsprüfung der Adresse. Genau das will ich
eigentlich nicht, es soll alles gefunden werden, was entfernt einer
Email-Adresse ähnlich ist.
Ich habe inzwischen natürlich auch selber weiter geforscht und bin zu
folgender Lösung gekommen:
<?php
$x = "safgshsdhsdhf TO: xxx_(at)_heise.de afjsagfjsagjsagjsagljsagj TO:
aaa_(at)_gmx.de x sdgsdgsdgsdg";
if (ereg("TO:( ){1}[^(TO: )]*_(at)_[^(gmx)].*\...[^ ]?",$x,$y)) {
	echo $y[0];
}
?>
Das liefert mir genau die Stelle, die ich benötige (ich habe den
Ausdruck noch um bis zu drei Zeichen lange Top-Level-Domains erweitert).
Trotzdem vielen Dank.

Alexander


php::bar PHP Wiki   -   Listenarchive