phpbar.de logo

Mailinglisten-Archive

[php] Email-Adresse auslesen

[php] Email-Adresse auslesen

Alex Emken php at emken.com
Mon Sep 6 18:32:54 CEST 2004


Norbert Pfeiffer wrote:
> irgendwas ist da noch nicht optimal:
> In $regs[0] stehen die gleichen Werte, wie in $regs[1] - seltsam

Hallo Nobert,

jupp, das ist so weil:

| int preg_match (string pattern, string subject [, array matches [,
| int flags]])
| $matches[0] will contain the text that matched the full pattern,
| $matches[1] will have the text that matched the first captured
| parenthesized subpattern, and so on.

Weil ich die E-Mailadresse selbst noch als Subpattern gekennzeichnet 
habe. So kann man z.B. noch festlegen, dass vor und hinter der 
E-Mail-Adresse ein Whitespace vorhanden sein muss.

<code>
$text = "Hier der Text mit der/den E-Mail-Adresse/n.";
preg_match_all("/\s+([_a-zA-Z0-9-]+(?:\\.?[_a-zA-Z0-9-])*@(?:[a-zA-Z0-9-]+\\.)+(?:[a-zA-Z]{2,4}))\s+/",$text,$regs);
print_r($regs);
</code>

In diesem Falle würde $regs[0] also die Adressen inklusive und $regs[1] 
die Adressen exklusive Leerzeichen enthalten.

Norbert Pfeiffer wrote:
 > Sie stehen im Array $ergs[0], warum auch immer ..

Weil Du bei dem Ausdruck keine Subpattern verwendet hast und die 
Funktion immer ein Array zurückliefert.

Gruß,
Alex

php::bar PHP Wiki   -   Listenarchive