Mailinglisten-Archive |
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