我正在使用FuelPHP和TinyMCE编辑器构建一个简单的博客系统。
当我在TinyMCE(或CKEditor,无关紧要)中格式化我的文本并将其保存在我的数据库中时,一切正常。然而,当我打印文本时,令人惊讶的是,我的浏览器不会呈现html标签并将其显示为纯文本!
我已经检查过,我在页面中没有任何CDATA
,这可能会导致问题。
以下是它的呈现方式:
但是,在使用FireBug检查问题时,我注意到在打印<h2>
标记之前有很多空格!如果我只是在空格中进行一些小改动(删除一个或添加另一个),那么浏览器将呈现标签并正确显示文本!!
你们可以帮我解决这个问题吗?这真的很奇怪。
答案 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,可以让您选择何时对文字进行编码(默认为是)。