正则表达式替换破坏字符串的字符

时间:2013-06-11 23:00:46

标签: php regex

在PHP中,我希望可以使用preg_replace和正则表达式将所有'替换为\',将所有"替换为\"并且{{1}与/

所以用其转义字符对应替换所有可能破坏字符串的字符。

3 个答案:

答案 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()