2012-04-17 142 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);