我有一个简单的文本字段,客户可以输入他们的html / php代码。
在某些服务器上,一切正常,但是在我输入的时候就可以了:
\
它保存为\\
所以我想用这样的代码删除它,但它不起作用:
$text = str_replace('\','',$text);
有什么想法吗?
答案 0 :(得分:1)
你可能正在寻找:
$text = str_replace('\\\\','\\',$text);
这会将所有\\
替换为\
或:
$text = str_replace('\\','',$text);
这将取代所有\
。
您需要使用\\
(以及\\\\
两个斜杠)的原因是要转义\
,因为'\'
本身正在转义结束引号,使你的字符串不完整。因此,您需要转义\
,将其转换为'\\'
。
服务器之间存在差异的原因可能是magic quotes,您可以通过确保两个服务器具有相同的配置条目值来阻止上述代码。
而且,毕竟,只需拨打stripslashes()
,就可以替换为N.B.指出,并且您将获得完全相同的结果。
答案 1 :(得分:0)
您始终可以使用ascii代码:
$text="\ it's saved as \\";
$text = str_replace(chr(92),'',$text);
echo $text;
返回:
它保存为