2013-06-11 45 views
0

在PHP中的人物,我希望可以用的preg_replace做到這一點,正則表達式替換所有'\'和所有"\"和所有/\/正則表達式替換的是打破字符串

因此,請替換所有可以將字符串與其轉義符對應的字符。

+2

'/'不破串 –

+1

你需要什麼用的? – zerkms

+2

'addslashes'?但你爲什麼要這麼做?這可能是出於錯誤的原因。 –

回答

0

是的,你可以用preg_replace做到這一點,但在你的情況下,我可能會建議簡單地使用str_replace()addslashes()

2

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

或本

$string = addslashes($string); 

應該做他的把戲。

我推薦第二個。第一個應該很好地工作。

preg_replace可能導致代碼運行速度變慢了很多,然後其他選項。

1

str_replace and addslashes是很好的方法。隨着了preg_replace,不要忘了三重反斜線:

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

echo $string.'<br>'.preg_replace('~["\'\\\]~', '\\\$0', $string);