Hallo!
Ich gebe es gleich zu: dieser regex übersteigt meinen Horizont! Ich bräuchte deshalb bitte eure Hilfe bei folgendem Regex-Problem:
Ich habe zB folgenden Text:
und möchte daraus die Nummer (PID) und den Titel (gridtitle) extrahieren, also für die obigen beiden Zeilen, hätte ich gerne
1. id=6427821 und title=Sylvia
2. id=1596793 und title=Face
Leider muss ich dafür eregi verwenden; der bisherige Code (der nicht funktioniert) sieht so aus:
blöderweise ist das Ergebnis dann nur ein Treffer und zwar mit
id=6427821 (von der ersten Zeile) und
title=Face (von der letzten Zeile)
Ich müsste also statt dem [COLOR=Red](.*)[/COLOR] (in der Mitte) irgendwie sagen "alles außer <font ...", damit mir zwei Treffer generiert werden.
Ich krieg das aber irgendwie nicht hin - bitte helft mir!
Ich gebe es gleich zu: dieser regex übersteigt meinen Horizont! Ich bräuchte deshalb bitte eure Hilfe bei folgendem Regex-Problem:
Ich habe zB folgenden Text:
Code:
<div class=griddiv><br><a href="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/productinfo.asp?pid=6427821&style=ice"]/productinfo.asp?pid=6427821&style=ice[/URL]"><img style="margin-top:4px;" src="[URL="http://www.php-resource.de/forum/view-source:http://cover6.cduniverse.com/CDUCoverart/Adult/Medium/Front/6427821.jpg"]http://cover6.xxxxxxxx.com/CDUCoverxxx/Xxxxxx/Medium/Front/6427821.jpg[/URL]" width=118 height=176 border=0 alt="Sylvia DVD"></a><center><font class=gridtitle>Sylvia</font><br><img src="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/images/stars-4.gif"]/images/stars-4.gif[/URL]" alt="4 stars"> <br><a class=GridPriceLink rel="nofollow" href="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/checkout/cart.asp?PID=6427821&style=ice"]/checkout/cart.asp?PID=6427821&style=ice[/URL]">$13.75</a> </center></div> <div class=griddiv><font class=gridheading>Top Match</font><br><a href="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/productinfo.asp?pid=1596793&style=ice"]/productinfo.asp?pid=1596793&[/URL] [URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/productinfo.asp?pid=1596793&style=ice"]amp;style=ice[/URL]"><img style="margin-top:4px;" src="[URL="http://www.php-resource.de/forum/view-source:http://cover6.cduniverse.com/CDUCoverart/Adult/Medium/Front/62663302115.jpg"]http://cover6.xxxxxxxxxxx.com/CDUCoverxxx/Xxxxxxx/Medium/Front[/URL] [URL="http://www.php-resource.de/forum/view-source:http://cover6.cduniverse.com/CDUCoverart/Adult/Medium/Front/62663302115.jpg"]/62663302115.jpg[/URL]" width=118 height=176 border=0 alt="Face DVD"></a><center><font class=gridtitle>Face</font> <br><img src="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/images/stars-3-half.gif"]/images/stars-3-half.gif[/URL]" alt="3.5 stars"><br><a class=GridPriceLink rel="nofollow" href="[URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/checkout/cart.asp?PID=1596793&style=ice"]/checkout[/URL] [URL="http://www.php-resource.de/forum/view-source:http://www.cduniverse.com/checkout/cart.asp?PID=1596793&style=ice"]/cart.asp?PID=1596793&style=ice[/URL]">$11.49</a></center></div>
1. id=6427821 und title=Sylvia
2. id=1596793 und title=Face
Leider muss ich dafür eregi verwenden; der bisherige Code (der nicht funktioniert) sieht so aus:
Code:
$regx = 'href="/productinfo.asp\?pid=([^<]*)&style=ice">[COLOR=Red](.*)[/COLOR]<font class=gridtitle>([^<]*)</font><br>'; ... while(eregi($regx, $contents, $arrRoller)) { array_push($retval, $arrRoller); } ...
id=6427821 (von der ersten Zeile) und
title=Face (von der letzten Zeile)
Ich müsste also statt dem [COLOR=Red](.*)[/COLOR] (in der Mitte) irgendwie sagen "alles außer <font ...", damit mir zwei Treffer generiert werden.
Ich krieg das aber irgendwie nicht hin - bitte helft mir!
Kommentar