当从mysql获取数据时,html标签正在显示
我已经在使用编辑器的mysql表中存储了一些html代码。它包含YouTube视频的嵌入代码,所以在mysql中列条目是这样当从mysql获取数据时,html标签正在显示
This is a hello text. <iframe width="560" height="315" src="https://www.youtube.com/embed/zAlX1V3lK5s"> </iframe><br>
我想提出一个jQuery的GET调用从MySQL得到这个数据,我已经使用这个代码是
$.get(
'test.php',
function(response) {
console.log(response);
$('#test').html(response);
}
);
PHP代码获取结果是
mysql_connect("localhost", 'root', 'root');
mysql_select_db("dummy");
$rs = mysql_query("select dummy from demotable where id = xyz");
$r = mysql_fetch_array($rs);
echo $r['dummy']; //contains that string which includes iframe too
但是当我显示结果的DIV那么它是不是有显示视频,但它显示的字符串,因为它是我在前端获取输出格是
This is a strong beer. <iframe width="560" height="315" src="https://www.youtube.com/embed/zAlX1V3lK5s"> </iframe><br>
我怎样才能得到视频,而不是显示源?
我认为你需要强制加载iframe。根据What’s the best way to reload/refresh an iframe?这可以用JavaScript来实现这样的:
document.getElementById('some_frame_id').contentWindow.location.reload();
但是,这可能会是这样的jQuery中:
$('#test').find('iframe')[0].contentWindow.location.reload();
试一下:)
这并不能解决问题。也是
标签正在显示,它应该在那里换行。所以这是与php的变量有关。因为如果直接插入这样的文字,则可以使用$('#test')。html('This is a text。
这个问题是只有iframe,图像显示正确。 –
您需要把<div>
标签也写成:
echo '<div>'.$r['dummy'].'</div>';
不,这不是一个解决方案。 –
这个问题是只有iframe,图像显示正确。 –
所以最后我找到了解决方案。我只能用jquery做一个小小的调整。看看下面的代码
$.get(
'test.php',
function(response) {
var res = $('<div/>').html(response).text();
$('#test').html(response);
}
);
它会解码的HTML和IFRAME会在那里。
从[tag:php-5.5]开始,不推荐使用'mysql_ *'。所以改为使用'mysqli_ *'或'PDO'。 [为什么我不应该在PHP中使用mysql_ *函数?](https://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php/14110189#14110189) – mega6382
它只是一个例子,我正在使用蛋糕的PHP做的事情,但它仍然显示字符串,而不是将嵌入代码转换为视频 –