2011-12-26 56 views
0

我想換個串與奇 「"」,如:簡單的PHP正則表達式使用的preg_replace

 
He said: "I don't think so" 

爲:

 
He said: "I don't think so" 

我當前的代碼是:

$sentence = addslashes(preg_replace('/^\&quot\;$/','\"',$var)); 

代碼中的問題是什麼?

回答

1

^$只會匹配整個字符串的開始和結尾(或/m模式中的整行)。由於"不會像那樣出現,因此您的正則表達式完全匹配它。只要刪除^$它應該工作。

順便說一句,也許你想用html_entity_decode()來代替。

+0

html_entity_decode()是我的選擇,謝謝。 – Tom

1

你可能使用PHP的htmlspecialchars_decode()更好:

$var = "He said: "I don't think so""; 
$sentence = htmlspecialchars_decode($var); 
1

這一個可以解決你的問題:

$yourstring = "He said: "I don't think so""; 
$newstring = str_replace(""","\"",$yourstring); 

echo $newstring; 
+0

+1注意目標是一個固定長度的文字字符串。對於這種情況'str_replace()'會比'preg_replace()'快。 – ridgerunner