2012-04-17 165 views
0

您好,我試圖讓所有的單引號是使用PHP str_replace函數雙引號但它似乎並不奏效,無論我做什麼,建議PHP的字符串替換引號

$page = str_replace("/'/", '/"/', $page); 
+0

你並不需要,因爲它們是 – Dale 2012-04-17 22:30:58

+0

你在想正則表達式的其他報價類型裏面逃脫字符。你不需要'/ /'來替換字符串。 – Jack 2012-04-17 22:34:42

回答

9

更新:我與其他人同意,以下是大多數人更容易閱讀的選擇:

$page = str_replace("'", '"', $page); 

我原來的答覆:

$page = str_replace(chr(39), chr(34), $page); 
+0

這個人工作感謝球員,等待十分鐘點擊它作爲接受的答案。 – kqlambert 2012-04-17 22:32:54

+4

雖然不太流暢,但如果您不熟悉字符代碼...... – 2012-04-17 22:34:11

+1

如果可能,您應該從代碼中移除*幻數*。 – alex 2012-04-17 22:36:26

3

你不如果字符串沒有用相同的字符分隔,則需要轉義引號字符(實際上它是\,而不是/,除非您與標準正則表達式分隔符相混淆)。

$page = str_replace("'", '"', $page); 
2

這應該工作:

str_replace("'",'"',$text); 
0
$page = str_replace("'", "\"", $page); 
0

我認爲你應該做的替換用preg_replace();

$str = "'Here 'it' goes'"; 
echo preg_replace("/'/", '"', $str); 
+0

但是,PHP手冊說你應該使用str_replace(),所以Patrick的答案應該很好。 – 2012-04-17 22:34:33

0

這工作。你其實不需要任何逃避角色。

$page = str_replace("'", '"', $page); 
0

你只需要開始和結束preg_...()/(和其他正則表達式)功能。對於基本功能,如str_replace,簡單地使用文字:

str_replace("'", '"', $text);