我将像<ul><li>....</li></ul>
这样的HTML标签存储在表格中。 我希望检索这些值作为HTML内容。 当我检索此数据时,我希望它显示为HTML内容,即应显示为项目符号而不是<ul><li>....</li></ul>
。
我尝试的代码:
<?php echo stripslashes($row3['description'])?>
我甚至尝试了htmlentities()
,html_entity_decode()
,但都没有起作用。
您可以按照以下方式使用htmlspecialchars_decode
函数:
echo htmlspecialchars_decode(stripslashes($row3['description']));
不是
echo stripslashes($row3['description']);
你可以在这里了解有关函数的更多信息: http://php.net/manual/en/function.htmlspecialchars-decode.php对于Laravel用户,只需执行以下操作
{!! $my_db_ish['my_row'] !!}
代替
{{ $my_db_ish['my_row'] }}
$str = "<ul><li></li></ul>";
echo htmlspecialchars_decode($str);
使用 htmlspecialchars_decode() 函数。对我来说效果很好...
使用指南
带有代码的文本
<?php
$text = "
<html>
<head>
<title>Page Title</title>
</head>
<body>
Reference site about Lorem Ipsum, giving information on its origins, as well as a random Lipsum generator.
</body>
</html> ";
OR
$text = $row['columnname']; // Here define your database table column name.
echo htmlspecialchars_decode($text);
?>
输出:
关于Lorem Ipsum的参考网站,提供其起源信息,以及随机Lipsum生成器。
echo $row3['description']
,然而,这会让您面临漏洞的风险,除非您真的信任数据(即:从不),否则您应该先清理它。您可以尝试使用 htmlpurifier 进行清理。不要调用任何
stripslashes、htmlentities或html_entity_decode
这些函数是为了防止HTML代码被处理为HTML代码(它将其转换为文本)。只需尝试echo $row3['description'];
。
并确保以;
结束您的行!
您还应该检查是否以正确的方式将数据保存到MySQL数据库中(以便在数据库中防止HTML编码)。
此外,在涉及用户的MySQL数据库中使用保存的HTML代码并不安全。他可能会添加自己的HTML代码,而你并不想让他这样做,所以要小心!!
<ul> <li>......</li></ul>
。 - Tejas Navghane