'<a(.*)' - erfasst nach "<" und "a" eine beliebige Zahl (nahezu) beliebiger Zeichen, und da PCRE von Natur aus gierig sind, nehmen sie immer die längste passende Zeichenkette, die sie finden können. Steht also im HTML-Quelltext hinter dem
<a href="">...
noch eins, dann wird das miterfasst.
Hi EisFux,
genau das ist der Fall und genau das passiert auch :-)
Ich würde das besser so machen (PCRE):
preg_match_all(
'/<a\s+href=(["']?)([^>])\1\s>([^<]*)</a>/',
$haystack,
$rx_matches
);
print_r($rx_matches);
>
Mal ausprobieren.
Dank Dir
Gerd
> Das dürfte die Fälle abdecken, in denen außer dem href-Attribut kein weiteres vorkommt.
>
> MffG
> EisFuX