使用preg_replace的简单php正则表达式

时间:2011-12-26 13:25:51

标签: php regex preg-replace

我想更改奇数为“"”的字符串,例如:

He said: "I don't think so"

成为:

He said: "I don't think so"

我目前的代码是:

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

代码中的问题是什么?

3 个答案:

答案 0 :(得分:1)

^$只匹配整个字符串的开头和结尾(或/m模式中的整行)。由于"看起来不像,所以你的正则表达式完全匹配它。只需删除^$即可。

顺便说一句,也许您想要使用html_entity_decode()代替。

答案 1 :(得分:1)

最好使用PHP htmlspecialchars_decode()

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

答案 2 :(得分:1)

这个可以解决你的问题:

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

echo $newstring;