啊,我从不喜欢 PHP,它太“不纯”了……
现在我必须使用它,但我遇到了一个问题:主要是既不html_entity_decode
也不htmlspecialchars_decode
似乎对我有用。我已经看过这个论坛了,什么也没有。它似乎在任何地方都有效,只是在这里不起作用......
我将电影的标题发送到数据库,全部编码,然后当我从数据库中获取它时,我用这个解码它:
$title = html_entity_decode($row['Title']);
接着:
"title":"'.$title.'"
它是我用 PHP 创建的 JSON 对象的一部分。虽然当我查看那个特定对象的属性时,它的标题并没有被解码,实际上没有任何变化。我尝试了问题标题中所述的两个功能,并尝试了像 UTF-8 这样的编码,还有一些像 ENT_QUOTES 或 ENT_COMPAT 这样的选项,但它仍然不起作用。
有人可以告诉我为什么 PHP 不听我的吗?
编辑:这是我在那里所做的全部内容:
echo 'var serverVideos = [';
while($row = mysql_fetch_array($result))
{
$currentRow++;
$data = array('posterSrc' => $row["Poster_name"],
'videoSrc' => $row["Video_name"],
'videoType' => $row["Type"]);
$title = html_entity_decode($row['Title']);
$poster = html_entity_decode($row['Poster_name']);
echo'{"id":"'.$row["ID"].'", "vimeoID":"'.$row["VimeoID"].'", "title":"'.$title.'" ,"client":"'.$row["Client"].'" , "production":"'.$row["Production"].'", "type":"'.$row["Type"].'", ';
if($row["Type"] != "vimeo")
{
echo '"href":"'.http_build_query($data).'"';
}
else
{
echo '"href":"'.$row["Video_name"].'"';
}
echo ', "poster":"'.$poster.'"}';
if($currentRow != $rowNumber)
{
echo ',';
}
}
echo '];';
抱歉,有点乱,在notepad++中看起来更好;/我实际上是在脚本标签中输出它来制作一个对象,我查看了 json_encode 并没有真正理解它如何帮助我,因为我不知道如何使用这么多变量,抱歉。
此外,以下是使用该 JSON 对象中的变量使用 javascript 制作标签后源代码中的代码:
<a production=" " client=" " title="O.S.T.R &quot;Track #12&quot;" href="http://player.vimeo.com/video/43886787?title=1&amp;byline=1&amp;portrait=1" rel="shadowbox" class="box">