HTML标记未呈现

时间:2013-08-17 19:35:32

标签: php html fuelphp

我正在使用FuelPHP和TinyMCE编辑器构建一个简单的博客系统。

当我在TinyMCE(或CKEditor,无关紧要)中格式化我的文本并将其保存在我的数据库中时,一切正常。然而,当我打印文本时,令人惊讶的是,我的浏览器不会呈现html标签并将其显示为纯文本!

我已经检查过,我在页面中没有任何CDATA,这可能会导致问题。

以下是它的呈现方式:

How it renders

但是,在使用FireBug检查问题时,我注意到在打印<h2>标记之前有很多空格!如果我只是在空格中进行一些小改动(删除一个或添加另一个),那么浏览器将呈现标签并正确显示文本!!

你们可以帮我解决这个问题吗?这真的很奇怪。

3 个答案:

答案 0 :(得分:2)

当您将数据保存在数据库中时,由于某些安全原因您需要

html_entity_decode("string retrived from database");

然后打印出来。

答案 1 :(得分:0)

您可以使用set_safe() method或使用set()中的$filter参数代替编码和解码。

像这样:

$view->set_safe('body', $data);

或者

$view->set('body', $data, false);

或将您的观点列入白名单。这将阻止解码。

答案 2 :(得分:0)

如何将数据传递给视图?你能展示代码吗?

如果您使用View class there is a method,可以让您选择何时对文字进行编码(默认为)。