Ashura: Brauche hilfe bei regulären ausdrücken!

Beitrag lesen

Hallo Torben.

$text = str_replace("<", "&lt;", $text);
$text = str_replace(">", "&gt;", $text);

allerdings soll das ganze nur dann ausgeführt werden wenn die beiden zeichen < und > nicht ein bestandteil von <br> sind!

Das dürfte recht einfach wie folgt gehen:

Durchlaufe mit einer Schleife sämtliche Fundstellen von „<“ und gehe hierbei immer von der letzten Fundstelle aus; den selben Ausgangspunkt verwendest du innerhalb der Schleife, um nach „<br>“ zu suchen.

Wenn die aktuelle Fundstelle von „<“ mit der aktuellen von „<br>“ übereinstimmt, überspringst du den aktuellen Schleifendurchlauf. Wenn nicht, dann führst du deine Ersetzung durch.

Einen schönen Montag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]