phpbar.de logo

Mailinglisten-Archive

[php] Re: Problem mit Regulaeren Ausdruecken

[php] Re: Problem mit Regulaeren Ausdruecken

Steffen Sander s.sander_(at)_crs.de
Mon, 08 May 2000 14:47:49 +0100


> Von: "Whiteman" <whiteman_(at)_teg-clan.de>
> $text_voher = "Blah Blah Blah
> <ahref='http://www.domain.de/test.html'>Link</a> Blah Blah Blah";
>
> Daraus wollte ich den Link herrausfiltern das hat auch funktioniert und
> zwar mit
>
> while (eregi("<a href=.{1,}</a>", $text_vorher, $text_gefunden)) {
> echo $text_gefunden[0]."<br>\n";
> }
>
> Nur Leider ist es so, das wenn in dem String mehrere Links drin sind
> also
>
> $text_voher = "Blah Blah Blah <a
> href='http://www.domain.de/test.html'>Link</a> Blah Blah Blah <a
> href='http://www.domain.de/test.html'>Link</a>";
>
> Der gefundene String ($text_gefunden) von dem ersten "<a href=" bis zum
> letzten "</a>" geht. Die Zeichen zwischen den Links wollte ich aber eben
> nicht im Suchergebniss haben.

Versuche es mal so anzugehen ( zu formulieren ):
1. Du suchst eine Zeichenkette die mit <a[[:space:]]+
( Linkanfang und min. ein (Leerzeichen, Tab oder Zeilenumbruch) beginnt
und mit einem </a> endet. Stimmts?! Dazwischen darf aber
kein <a[[:space:]] und auch kein </a> vorkommen !!
( Siehe Deine gefundene Zeichenkette oben.)
2. Mit dieser gefundenen Zeichenkette kannst Du jetzt die Anfangsposition und
die Menge der enthaltenen Zeichen ermitteln, um mit substr den übrigen String
zu extrahieren und nach weiteren Links zu durchsuchen.
( Schleife und Suchergebnisse in ein Array schreiben ).


Gruß
--
Steffen Sander - Internet/Intranet Softwareentwicklung
CRS Computer Register Service GmbH -  Ritterstr. 11 - 10969 Berlin
mailto:s.sander_(at)_crs.de -Tel: +49-30-614 60 01 - Fax: +49-30-614 85 81
http://www.crs.de - http://www.markthalle.de - http://www.stadtnetz.net




php::bar PHP Wiki   -   Listenarchive