Mailinglisten-Archive |
> Wenns denn unbedingt sein muss: > > $test = "<a href=\"http://www.adresse.de\" target=\"_blank\">text</a>"; > $test = str_replace ("<a href=\"http://", "makelink(\"", $test); > $test = str_replace ("\" target=\"_blank\">", "\",\"", $test); > $test = str_replace ("</a>", "\");\n", $test); > echo $test; > eval ($test); Wenn denn nun wirklich alle Versuche fehlgeschlagen sind, die Ursache der Krankheit (DB-Struktur) zu heilen, schreiten wir also zur Behandlung der Symptome. Dann sollte es aber auch eine Lösung sein, die alle Links (schliesslich war der Link von Nico nur ein Beispiel) findet und ohne das böse eval() auskommt: <? $pattern = '=^(.*)<a(.*)href\="?(\S+)"([^>]*)>(.*)</a>(.*)$=msi'; while (preg_match($pattern, $text, $txt)) { $text = $txt[1].makelink($txt[3],$txt[5]).$txt[6]; } ?> Die Antwort steht übrigens (fast genau so) unter: http://www.phpcenter.de/faq/faq-regexp.html#regexp-8 Und übrigens, Nico: Wenn diese Liste Dir schon helfen soll, mußt Du Dir auch Nachfragen und Kritik zu Deiner DB-Struktur gefallen lassen. Schliesslich will dir hier niemand vorschnell eine scheinbare Hilfestellung geben, mit der Du Dir massenweise Probleme einhandelst, die die Liste dann wieder lösen darf... Insofern war dieser Thread aus meiner Sicht ein Beweis für die Qualität der Liste. Und vielleicht hilft er Dir (und/oder anderen), künftig besser zu planen und die weisen Ratschläge von Norbert zu beherzigen. Operation gelungen, Patient tot ... Arne -- arne_(at)_klempert.de
php::bar PHP Wiki - Listenarchive