如何在PHP中从mysql数据库中呈现html标签?

时间:2016-02-05 06:54:44

标签: php html

我在表格中存储了<ul><li>....</li></ul>等html标签。我想将这些值检索为html内容。当我检索这些数据时,我想将其显示为HTML内容,也就是说,它应该显示项目符号,而不是<ul><li>....</li></ul>

我正在尝试的代码:

<?php echo stripslashes($row3['description'])?>

我甚至尝试过htmlentities()html_entity_decode(),但没有一个有效。

6 个答案:

答案 0 :(得分:4)

您可以使用 htmlspecialchars_decode 功能,如下所示:

echo htmlspecialchars_decode(stripslashes($row3['description'])); 

而不是

 echo stripslashes($row3['description']);

您可以在此处了解有关功能的更多信息:http://php.net/manual/en/function.htmlspecialchars-decode.php

答案 1 :(得分:2)

对于laravel用户只需执行此操作

{!! $my_db_ish['my_row'] !!}

代替

{{ $my_db_ish['my_row'] }}

答案 2 :(得分:0)

显示html内容的唯一方法是简单echo $row3['description'],但是,这会让您对漏洞开放,除非您真的信任数据(即:从不),那么您应该首先清理它。您可以尝试htmlpurifier

答案 3 :(得分:0)

不要打电话给任何

  

stripslashes,htmlentities或html_entity_decode

这些功能可以防止将HTML代码作为HTML代码处理(将其转换为文本)。试试echo $row3['description'];。 并确保使用; !!

结束您的行

您还应该检查是否以正确的方式将数据保存到MySQL数据库中(因此没有更改以防止数据库中的HTML编码)。

使用保存在USER也参与的MySQL数据库中的HTML代码也不是很安全。他可能会添加他自己的HTML代码而不想要他,所以WATCH OUT !!

答案 4 :(得分:0)

使用htmlspecialchars_decode

$str = "<ul><li></li></ul>";

echo htmlspecialchars_decode($str);

希望它会对你有所帮助:)。

答案 5 :(得分:0)

使用htmlspecialchars_decode()函数。它对我来说很好......

使用指南

带代码的文字

let NavComponent = props => <MyCustomAppContextProvider>...

// YES
<Route component={NavComponent} />

// NO
<Route component={<NavComponent />} />

输出:

关于Lorem Ipsum的参考网站,提供有关其来源的信息,以及随机Lipsum生成器。