Es geht um folgendes:
Folgender String:
Die Bahn fährt am [url=http://de.wikipedia.org/wiki/Kronsberg]Kronsberg[/url] vorbei. Eine schöne Gegend, wirkt selbst bei Regen harmonisch und ausgeglichen. Ein kleines Einkaufszentrum, schlichte, aber schön anzusehende Mehrfamilienhäuser, Nebenstraßen, die geradezu idyllisch eingerahmt von gut gepflegtem Rasen die Anhöhen bewältigen. Vorbei am [url=http://www.gm-stahlbau.de/html/lbs_hannover.html]vollverglasten LBS-Gebäude[/url], dessen Treppen sich so herrlich geometrisch durch den Innenraum ziehen.
RegExps, die passen würden:
'/\[url=(http:\/\/.+?(\.jpg|\.JPG|\.jpeg|\.JPEG|\.png|\.PNG|\.gif|\.GIF))\](.+?)\[\/url\]/i', '/\[url=(http:\/\/.+?|mailto:.+?)\](.+?)\[\/url\]/i',
werden ersetzt durch (preg_replace):
"<a href=\"$1\" rel=\"lightbox\">$3</a>", "<a href=\"$1\" title=\"$1 ansurfen\" target=\"blank\" class=\"loglink\">$2</a>",
PHP mach daraus:
Die Bahn fährt am <a href="http://de.wikipedia.org/wiki/Kronsberg]Kronsberg[/url] vorbei. Eine schöne Gegend, wirkt selbst bei Regen harmonisch und ausgeglichen. Ein kleines Einkaufszentrum, schlichte, aber schön anzusehende Mehrfamilienhäuser, Nebenstraßen, die geradezu idyllisch eingerahmt von gut gepflegtem Rasen die Anhöhen bewältigen.<br />Vorbei am <a href="http://www.gm-stahlbau.de/html/lbs_hannover.html" title="http://www.gm-stahlbau.de/html/lbs_hannover.html ansurfen" target="blank" class="loglink">vollverglasten LBS-Gebäude</a>, dessen Treppen sich so herrlich geometrisch durch den Innenraum ziehen.
PHP schließt das </a> nicht vom ersten Link (Kronsberg), sondern übersieht das "[/url]" und interpretiert alles bis zu "vollverglasten LBS-GEbäude" als Link
...warum? Das wundert mich, zumal ein weiterer Wikipedia-Link später ohne Probleme interpretiert wird
Nehme ich den ersten Regexp raus (Einschränkung nach Bildern und ersetzen durch "lightbox".String), funktioniert alles, deswegen denke ich, der Fehler liegt im ersten RegExp.
Wer kann mir Tipps geben?
Danke für eure Hilfe jetzt schon.
Dieser Beitrag wurde von phillymarx bearbeitet: 23. Februar 2007 - 00:45