ForestCZE 2 Odesláno: 26. Duben, 2013 Share Odesláno: 26. Duben, 2013 Ahoj Mám tento kód: while($bld = fgets($ob)) { $bldd = str_replace("[", ";", $bld); $bldd = str_replace("|", ";", $bld); $bldd = str_replace("]", ";", $bld); $bldd = str_replace("-", ";", $bld); } Potřebuju znaky: [ | ] - nahradit za středník. Problém je, že mi to nahradí pouze poslední znak a ne všechny. Kde je chyba? Díky Link to comment Share on other sites More sharing options...
0 GAMELASTERツ 73 Odesláno: 26. Duben, 2013 Share Odesláno: 26. Duben, 2013 Ahoj Mám tento kód: while($bld = fgets($ob)) { $bldd = str_replace("[", ";", $bld); $bldd = str_replace("|", ";", $bld); $bldd = str_replace("]", ";", $bld); $bldd = str_replace("-", ";", $bld); } Potřebuju znaky: [ | ] - nahradit za středník. Problém je, že mi to nahradí pouze poslední znak a ne všechny. Kde je chyba? Díky Tu je problem s logikou, to posledne sa da kvoli tomu,ze ty furt nastavujes premennu $bldd z $bld, to znamena ze bere veci zo original $bld a nie to co je v $bldd. Ak si ma nepochopil, tak: while($bld = fgets($ob)) { $bldd = str_replace("[", ";", $bld); $bldd = str_replace("|", ";", $bldd); $bldd = str_replace("]", ";", $bldd); $bldd = str_replace("-", ";", $bldd); } 2 Link to comment Share on other sites More sharing options...
0 tbx 7 Odesláno: 26. Duben, 2013 Share Odesláno: 26. Duben, 2013 GAMELASTER, to je sice reseni, ale ne nejlepsi. Uz treba jen proto, ze to nedokaze spravne zpracovat multibyte retezec (hacky, carky, ...). K tomu se da pouzit funkce mb_str_replace z knihovny mbstring Nicmene nejrychlejsi a nejelegantnejsi reseni je pomoci regularniho vyrazu a funkce preg_replace, tedy while($bld = fgets($ob)) { $bldd = preg_replace("/[\[\]\|\-]+/", ";", $bld); } Link to comment Share on other sites More sharing options...
Dotaz
ForestCZE 2
Ahoj
Mám tento kód:
Potřebuju znaky:
nahradit za středník. Problém je, že mi to nahradí pouze poslední znak a ne všechny. Kde je chyba? Díky
Link to comment
Share on other sites
2 odpovědí na tuto otázku
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now