我在数据库中格式化了html标签(<
变为<
等等)。直接从数据库输出html
我遇到的问题是html标签字面输出;而不是<b>Text</b>
使文字加粗,它显示为<b>
有人知道这是为什么吗?或者如何修复它? 这可能是一个非常简单的问题,我忽略了它。
网站上的输出:在DB
HTML代码:
我在数据库中格式化了html标签(<
变为<
等等)。直接从数据库输出html
我遇到的问题是html标签字面输出;而不是<b>Text</b>
使文字加粗,它显示为<b>
有人知道这是为什么吗?或者如何修复它? 这可能是一个非常简单的问题,我忽略了它。
网站上的输出:在DB
HTML代码:
echo html_entity_decode("<b>"); // <b>
grrr !,你击败了我! :D – raidenace 2012-08-08 02:03:29
谢谢约翰 - 知道这是如此愚蠢和简单! – RobAtStackOverflow 2012-08-08 12:03:37
我想你们希望<
等全部更换<
同时将HTML存储在数据库中。但我发现在你的分贝中,<script ...
标签看起来像&lt;script ...
。 尝试用<script ...
之类的东西替换它。 还要确保设置了正确的MIME类型。对于HTML页面,请使用:
header('Content-type: text/html');
而不是解码,请确保您没有对它进行双重编码。如果你已经在数据库中编码了数据,然后在打印出来时再次对它进行编码,它应该被渲染为<等。
我不认为我是,除非我使用的codeigniter框架“自动”。感谢您的信息,但我会牢记这一点。 – RobAtStackOverflow 2012-08-08 12:04:41
你通常存储htmls未编码,并使用'htmlentities'输出编码 – 2012-08-08 01:57:26
这就是问题 - 它被编码,知道这是简单的。我使用codeigniter框架来防止上述和更多(XSS攻击和SQLi)。谢谢 – RobAtStackOverflow 2012-08-08 12:01:44