0

在 PHP 中,我希望可以用 preg_replace 和一个正则表达式替换 all 'with\'和 all "with\"和 all /with来做到这一点\/

因此,将所有可以破坏字符串的字符替换为对应的转义字符。

4

3 回答 3

2

这个

$string = str_replace(Array('"', "'"), Array('\"', "\'"), $string);

或这个

$string = addslashes($string);

应该做他的把戏。

我推荐第二个。第一个应该很好用。

preg_replace可能会导致代码运行速度比其他选项慢很多。

于 2013-06-11T23:05:32.037 回答
1

str_replaceaddlashes是很好的方法。使用preg_replace,不要忘记三个反斜杠:

$string = <<<'LOD'
I 'love' "marmots" \
LOD;

echo $string.'<br>'.preg_replace('~["\'\\\]~', '\\\$0', $string);
于 2013-06-11T23:11:05.093 回答
0

是的,你可以使用 preg_replace 来做到这一点,但在你的情况下,我可能会建议简单地使用str_replace()or addslashes()

于 2013-06-11T23:03:36.823 回答