我目前正在从事 Laravel 5.1 项目并使用 Blade 模板引擎。
Blade 提供了一种语法,通常像这样转义所有用户输入:
{{ $value }}
我现在想在输出时从用户输入中转义除 URL 之外的所有内容,以使链接可点击。
例如链接
http://google.de/
应该被捕获(即被某个正则表达式)并转化为:
<a href="http://google.de">http://google.de/</a>
我确实有可能在我的 AppServiceProvider 中使用纯 PHP(遍历文本,将文本链接替换为可点击的 HTML 元素并将所有不是链接替换为相应的 HTML 实体同行)。
但是,由于这是一个框架,并且框架旨在减轻反复重新发明轮子的负担,所以我希望有一些比我在所有其他 PHP 脚本中所做的事情更好的解决方案。
最佳答案
不知道我说的对不对
{!! $value !!}
将阻止默认 Blade 逃逸。所以,如果在你的 Blade View 中你有一个 $link
变量等于 http://google.de/
,你肯定可以显示它未转义:
<a href="{!! $link !!}">{!! $link !!}</a>
关于php - Laravel 5.1 用户输入文本中的链接/可点击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350106/