phpbar.de logo

Mailinglisten-Archive

[php] preg_replace nicht zwischen bestimmten Zeichen

[php] preg_replace nicht zwischen bestimmten Zeichen

Stephan Sachse php_(at)_phpcenter.de
Thu, 17 Oct 2002 23:57:14 +0200


Hi,

Ich habe mal versucht folgendes aus der FAQ nachzuvollziehen

7.11. Wie ersetze ich in einem Text, jedoch nicht innerhalb von HTML-Tags?
http://www.dclp-faq.de/q/q-regexp-ersetzen.html

leider jedoch ohne Erfolg. Beide Beispiele funktionieren nicht.
Auch ein anderes Bsp aus dem Manual geht nicht.
Getestet habe ich unter w2k mit php4.2.0 und unter linux php4.1.2
bei beiden die selben Ergebnisse.

weis eventuell jemand was ich falsch mache?

-----------------------------8<----------------------------------------
$s = "foo";
$t = "<a href=\"foo.php\">foo</a>foo";
$r = "bar";

preg_replace ("/(<\/?)(\w+)([^>]*>)/e",
              "'\\1'.strtoupper('\\2').'\\3'",
              $t);
echo htmlspecialchars($t)."\n";

// $s in $t durch $r ersetzen:
preg_replace("/((<[^>]*)|$s)/e", '"\2"=="\1"? "\1":"$r"', $t);
echo $t."\n";

// $s case-insensitive in $t hervorheben:
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"<b>\1</b>"', $t);
echo $t."\n";
----------------------------------->8----------------------------------


cya later
Stephan


-- 
"Communication with an engineer is only slightly more difficult than
communication with the dead." (Lorren 'Rus' Stiles, Sr.)


php::bar PHP Wiki   -   Listenarchive