在进行字符串替换时,在php字符串中允许双引号(语音标记)

时间:2014-06-26 21:29:17

标签: php regex string

我正在尝试找到一种更快捷的方法,用我的字符串中的单个替换所有双引号。

我有大量的html echo with with PHP但现在想用双引号包装这个html所以我可以使用变量而不必将它包装在'。$ string中。等

所以我很快写了这个:

$string = "test '""'fweffwf""'dwfwfe";

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

echo $string;

但它打破了,因为我猜它认为我正在关闭字符串时遇到“

我已经拥有的html相当厚实,我将来还有更多工作要做,不想手动更改每一个。

有关于此的任何想法吗?

2 个答案:

答案 0 :(得分:1)

如果难以转义引号,您可以使用heredoc syntax

$string = <<<EOD
test '""'fweffwf""'dwfwfe
EOD;

echo $string;

输出:

test '""'fweffwf""'dwfwfe

答案 1 :(得分:0)

你的代码应该是,

<?php
$string = <<<EOT
test '""'fweffwf""'dwfwfe
EOT;
$pattern = "~\"~";
$replacement = "'";
echo preg_replace($pattern, $replacement, $string);
?> //=> test ''''fweffwf'''dwfwfe

不要忘记转义$pattern变量中的双引号。