Laravel 4 - HTML 净化器

Posted

技术标签:

【中文标题】Laravel 4 - HTML 净化器【英文标题】:Laravel 4 - HTML Purifier 【发布时间】:2014-04-29 02:09:41 【问题描述】:

我正在使用 html 净化器 https://github.com/mewebstudio/Purifier 过滤来自输入的文本,如下所示:

  $body = Input::get('body');
  $purifiedtext = Purifier::clean($body);

然后将$purifiedtext 变量存储到数据库中,以便稍后在视图中检索它。这正在工作并过滤文本,但是当我检索它时,html 标记是可见的,而不是产生正确的输出。

这就是我尝试使用刀片检索存储的 $purifiedtext 的方式:

 $upload->body 

例如,如果 body 的输入是用 h2 标签包裹的“一些文本”,那么输出应该是:

一些文字

现在只是返回这样的文本:<h2>some text</h2>

如何更改它以便它知道标签并适当地格式化内容?

我应该使用htmlentities 来做到这一点吗?

【问题讨论】:

【参考方案1】:

你在 Blade 中转义了你的文本:

 $upload->body 

删除多余的花括号应该可以正常工作:

 $upload->body 

【讨论】:

那是天才!我开始寻找扩展刀片的东西,laravel.com/docs/templates#extending-blade。我什至无法想象这会奏效!谢谢!【参考方案2】:

删除第三个括号...不要转义从mysql返回的html,这不起作用

改用 $upload->body

【讨论】:

LOL 有人比我快 :-)

以上是关于Laravel 4 - HTML 净化器的主要内容,如果未能解决你的问题,请参考以下文章

larave学习笔记1-安装配置

Larave中CSRF攻击

laraver框架学习------工厂模型填充测试数据

laravel框架(blade模板引擎)

在 laravel 5.2 中找不到类“Html”

laravel框架总结 -- blade模板引擎