解码字符串中编码的 html 实体

问题描述 投票:0回答:3

我想用奇怪的“

"
”更改字符串,例如:

他说:“我不这么认为”

成为:

他说:“我不这么认为”

我当前的代码是:

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

我的代码有什么问题?

php string decoding html-entities
3个回答
1
投票

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

顺便说一句,也许您想使用

html_entity_decode()
来代替。


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;
© www.soinside.com 2019 - 2024. All rights reserved.