假设我有两个密码,我可以收到并发送到其他脚本进行处理。
$password1 = "gadg$dfglkj";
$password2 = "adsfasdfasdf";
如果密码中有$,我需要逃避$。我怎样才能用str_replace实现这个目标?
$password = str_replace("$","\$",$password1);
echo $password;
不起作用。我最终得到了:
gadgdfglkj //missing $
我也试过“\ $”,它会产生相同的结果。
password1变量是一个mysql响应,其中给定帐户的密码包含$。我收到密码并需要转义它,因为我将密码传递给另一个登录应用程序。
答案 0 :(得分:4)
将文字存储在单引号中而不是双引号中:
$password1 = 'gadg$dfglkj';
在PHP中,单引号将准确接受输入的内容,而不是尝试转换变量。然后,如果你仍然需要添加转义字符,它应该可以工作。
编辑: 为了添加转义字符,请确保在str_replace函数的单引号中包含$字符:
$password = str_replace('$','\$',$password1);
echo $password;
就像PHPFiddle中的魅力一样。