Youtube iframe仅显示代码而不是窗口

时间:2013-06-13 13:40:05

标签: php mysql iframe youtube

我正在研究一个简单的blogengine,我发现了一个巨大的bug。该用法可以创建一个siple blogpost并使用创建短iframe代码的javascript。这是一个例子:

<iframe width="640" height="510" src="http://www.youtube.com/embed/OMvFPp8dncU"
frameborder="0" allowfullscreen></iframe>

它将整个文本(post text和youtubecode)发送到mysql服务器,它插入的字段是varchar(255)。 但是当它显示视频时,它会显示代码。我已经搜索并阅读了很多次代码以找出错误但我找不到它。

以下是显示帖子的“显示代码”:

<?php 
include_once('scripts/MySQL.php');

$sqlCommand = "SELECT id, title, text, date, publisher FROM news WHERE published='1' ORDER BY id 
ASC"; 
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error()); 

$menuDisplay = '';
while ($row = mysqli_fetch_array($query)) { 
$title = $row["title"];
$text = $row["text"];
$date = $row["date"];
$publisher = $row["publisher"];

$news .= '<table width="760" align="center">
<tr>
<td align="left"><h1>' . $title . '</h1></td>
</tr>
<tr>
<td align="left">
<p>
' . $text . '
</p>
</td>
</tr>
<tr>
<td align="left"><h6><b>Published: ' . $date . ' by ' . $publisher . '</b></h6><br /><hr></td>
</tr>
</table>';

} 
mysqli_free_result($query); 
?>

有人可以帮我找错,并解释为什么它会显示代码而不是视频,请c:

以下是屏幕截图的链接: screenshot 1

Screenshot 2

2 个答案:

答案 0 :(得分:1)

这看起来像是通过将数据插入mysql数据库而创建的问题。您可以尝试使用htmlspecialchars_decode设置$ text以获取原始的html代码:

$text = htmlspecialchars_decode($row["text"]);

答案 1 :(得分:0)

好的,我明白了。

变化:

' . $text . '

echo $text;

出于某种原因,它会产生影响。