我有一个来自POST表单的字符串,我希望用其他字符替换所有间隔字符串。
这就是我做的:
$cdata = str_replace(" ","#",$cdata);
我得到了这个。
--- Contact-ID#=#148 [10274da8]#Sinhronizācija#=#private [1000137d]#Uzvārds#=#Zom [1000137c]#Vārds#=#Tana [1000130e]#Tālrunis#=#3333 [1000130e]#Mobilais#=#5555
如你所见,在“[10 ...”之前仍有间隔。任何想法可能是什么问题?
答案 0 :(得分:4)
这很可能是因为它是换行符\n
。 str_replace
的第一个参数可以是要替换的字符数组。也可以是tab char。或者使用preg_replace代替所有空白字符。
修改强>
$chars_to_replace = array(" ", "\t","\n","\r","\o","\x0B");
$new_string = str_replace($chars_to_replace, "#", $cdata);
答案 1 :(得分:1)
您需要preg_replace
:
$cdata = preg_replace('/\s+/', '#', cdata);
答案 2 :(得分:0)
GOT IT !!! HA-HA-HA! 作为一名优秀的程序员,我在$ _POST上使用mysqli_real_escape_string,然后将其分配给$ cdata。 现在我删除它,似乎工作完美!谢谢你们!