Mailinglisten-Archive |
Jochen Metzger wrote:
> Hi ho,
>
> warum finde ich mit folgendem Code nur den letzten Ausdruck und nicht den
> ersten?
>
> <?php
> $string='blabla <a href="test1.html?say=first" class="good">test1</a>'.
> 'gogogo <a href="test2.html?say=second" class="bad">test2</a>';
>
> /* get rid of all newlines */
> $string=preg_replace("/\\n/","",$string);
>
> /* - i -> case insensitive */
> preg_match("/\<a.*href\=([^> ]*)[^>]*\>(.*)\<\/a\>/i",$string,$t_match);
>
> print "<pre>matched";
> print_r ($t_match);
> print "</pre>";
> ?>
>
> Grüße
>
> Jochen
du matchst das erste <a, dann beliebig viele irgendwelche Zeichen, dann
das letzte href, weil ja vorher '.*' steht, das müsste man durch ein
'[^>]' ersetzen. Außerdem müsste das '>(.*)<' durch '>([^<>]*)<' ersetzt
werden. Spannend wird es, wenn Du alle href's haben willst...
--
Mit freundlichen Grüßen
Marco Schumann
united-domains AG
Tel.: 0 81 51 / 3 68 67 - 0
Fax: 0 81 51 / 3 68 67 - 77
http://www.united-domains.de
mailto:schumann_(at)_united-domains.de
php::bar PHP Wiki - Listenarchive