Sponsored Links |
|
||||
Ok habe jetzt eine Idee. Aber dafür brauche ich nochmal eure Hilfe
Ich möchte den quelltext per regex nach Links durchsuchen und dann den link in ein Array speichern. Den code für die regex hat oben Artemis schon gepostet regex regex So jetzt soll jeder Link einzeln in ein Array geschrieben werden. Sowas soll rauskommen: Array ( [0] => http://xhtmlforum.de/ [1] => http://xhtmlforum.de/faq.php ) Jemand ne idee wie ich das mache?? MfG Zen |
|
|||
Du musst dazu preg_match_all benutzen.
PHP-Code:
|
|
||||
Moin. Ne hat leider nicht auf anhieb funktioniert. Meine Idee war auch so ähnlich.
Folgender Code: Code:
$content= 'WWWWWW<a href="http://www.google.de" class="ass" target="">GOOGLE</a> YYYYYY<a href="http://www.amazon.de" class="ass" target="">Amazon</a>XXXXXX'; preg_match_all('+<a [^>]*?href="([^"]*?)"[^>]*?>.*?</a>+', $content, $matches); print_r ($matches); foreach ($matches[1] as $url) { if (substr_count($url, 'http://') == 1){ $suchmuster = '+(<a [^>]*?href="'.$url.'"[^>]*?)>+'; echo $suchmuster."\n\n"; preg_replace($suchmuster, '$1 class="icon" >', $content); } } echo $content; Code:
Array ( [0] => Array ( [0] => <a href="http://www.google.de" class="ass" target="">GOOGLE</a> [1] => <a href="http://www.amazon.de" class="ass" target="">Amazon</a> ) [1] => Array ( [0] => http://www.google.de [1] => http://www.amazon.de ) ) +(<a [^>]*?href="http://www.google.de"[^>]*?)>+ +(<a [^>]*?href="http://www.amazon.de"[^>]*?)>+ WWWWWW<a href="http://www.google.de" class="ass" target="">GOOGLE</a> YYYYYY<a href="http://www.amazon.de" class="ass" target="">Amazon</a>XXXXXX MfG Zen |
|
|||
Ich musste bei meinem Code nur 3 Flüchtigkeitsfehler beseitigen.
1. Beim ersten RegEx einen anderen Begrenzer als / 2. subtr sollte substr sein 3. replace muss str_replace heißen Jetzt funktioniert es wunderbar. PHP-Code:
Code:
ASDSADJK<a href="/start">Start</a>WWWWWW<a class="externer_link" href="http://www.google.de" target="">GOOGLE</a>YYYYYY<a href="http://www.amazon.de" class="ass externer_link" target="">Amazon</a>XXXXXX Geändert von Artemis (04.02.2007 um 09:57 Uhr) |
|
||||
Ein wenig kürzer und übersichtlicher ist noch dieser Variante:
PHP-Code:
|
|
||||
Wow, ihr habt das echt gut drauf
Artemis seine Lösung verstehe ich, auch wenn ich niemals von selbst drauf gekommen wäre. Netspy ist so an der grenze... Kannst du mir mal erklären was '|(<a\s)([a-z_\s="]*href="http://[^>]+>)|isU' bei der regex das \s und das isU macht? Bzw jetzt muss ich mir nochwas überlegen um z.B. .ppt und .doc etc zu matchen.. Außerdem möchte ich das man die Endungen + CLASSNAMEN in einer externen Datei ganz einfach reinschreiben kann. mal überlegen... MfG Zen |
Sponsored Links |
|
||||
\s steht für ein Whitespace (Leerzeichen, Tab, etc.) und die Suchmustermodifikatoren sind hier erklärt. U ist eigentlich überflüssig, schadet aber auch nicht.
Mario |
Sponsored Links |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
CSS - Meine Hyperlinks machen sich selbständig | mikeanic | CSS | 4 | 22.12.2006 13:02 |