str_replace

zdravím: ošemetná otázka potřebuji pomocí str_replace nahradi znaky "[" , "]" za:
"<" , ">" problém je že mi toto nefunguje můžete vyzkoušet na:

http://napokus.wz.cz/index.php?clanek=kecarna&clan=10
Spíš by bylo lepší, kdybys sem napsal ten skript, který ti nefunguje.
Takto ti to bude zaručeně fungovat:

$str = str_replace("[", "(", $str);
$str = str_replace("]", ")", $str);
//nahrazení znaků
$puvod = array("[b]","[/b]","[u]","[/u]","[br]","[center]","[/center]","<",">",
"*1*","*2*","*3*","*4*","*5*","*6*","*7*","*8*","*9*","*10*",
.
.
.
"*91*","*92*","*93*","*94*","*95*","*96*","*97*","*98*","*99*","*100*",);
//těmito znaky
$nepuvod = array("<b>","</b>","<u>","</u>","<br>","<center>","</center>","[","]",
"<img src=\"../image/smiles/1.gif\">",
.
.
.
"<img src=\"../image/smiles/100.gif\">",);
$nvzkaz= str_replace($puvod, $nepuvod, $_POST["vzkaz"]);
celkem tam nahrazuju asi tak 110 znaků za něco jinýho. všechno funguje až na oněch prvních 7
už vidím chybu
v prvních 6-ti změníš "[" a "]" na "<" a ">" a v sedmém to převedeš zpátky na "[" a "]", smajlíci ti fungují protože jsou až za 7. zákeřným převaděčem na hranaté závorky.

Správně je to tedy:

$puvod = array("<",">", "[b]", "[/b]", "[u]", "[/u]", "[br]", "[center]", "[/center]", "*1*", "*2*", "*3*", "*4*", "*5*", "*6*", "*7*", "*8*", "*9*", "*10*",
.
.
.
"*91*","*92*","*93*","*94*","*95*","*96*","*97*","*98*","*99*","*100*",);
//těmito znaky
$nepuvod = array("[", "]", "<b>","</b>","<u>","</u>", "<br>","<center>", "</center>", "<img src=\"../image/smiles/1.gif\">",
.
.
.
"<img src=\"../image/smiles/100.gif\">",);
$nvzkaz= str_replace($puvod, $nepuvod, $_POST["vzkaz"]);




...první dej [] na <> a potom ostatní, které toho využívají
nj to by mě nenapadlo sem věděl že je někde zakopanej pes. sem ymslel že pokud už je jednou nahradím....... nj ted mi to docvaklo. :D

vipadá to že sem tu jedinej co tu furt otravuje a nezkontroluje skripty :(
neboj ... nejsi ... ja tu taky všechny otravuju :D:D:D