php不会检测字符串中的所有空格

时间:2010-05-26 07:36:23

标签: php

我有一个来自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 ...”之前仍有间隔。任何想法可能是什么问题?

3 个答案:

答案 0 :(得分:4)

这很可能是因为它是换行符\nstr_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。 现在我删除它,似乎工作完美!谢谢你们!