在PHP中,我希望可以使用preg_replace和正则表达式将所有'
替换为\'
,将所有"
替换为\"
并且{{1}与/
。
所以用其转义字符对应替换所有可能破坏字符串的字符。
答案 0 :(得分:2)
此
$string = str_replace(Array('"', "'"), Array('\"', "\'"), $string);
或者
$string = addslashes($string);
应该欺骗他人。
我推荐第二个。第一个应该很好用。
preg_replace
可能导致代码运行速度比其他选项慢很多。
答案 1 :(得分:1)
str_replace 和 addslashes 是很好的方法。使用 preg_replace ,不要忘记三重反斜杠:
$string = <<<'LOD'
I 'love' "marmots" \
LOD;
echo $string.'<br>'.preg_replace('~["\'\\\]~', '\\\$0', $string);
答案 2 :(得分:0)
是的,您可以使用preg_replace执行此操作,但在您的情况下,我建议您只使用str_replace()
或addslashes()
。