Laravel 5.1 用户输入文本中的链接/可点击链接
Laravel 5.1 Linkification / clickable links in user-entered text
我目前正在做一个 Laravel 5.1 项目并使用 Blade 模板引擎。
Blade 提供了一种语法,通常可以像这样转义所有用户输入:
{{ $value }}
我现在想要转义 一切,但 URL 从用户输入输出时为了使 link 可点击。
例如 link
http://google.de/
应该被捕获(即被某个正则表达式)并转化为:
<a href="http://google.de">http://google.de/</a>
我确实有可能在我的 AppServiceProvider 中使用纯 PHP(遍历文本,用可点击的 HTML 元素替换文本 links 并替换所有 不是一个link和它各自的HTML实体对应物)。
但是,由于这是一个框架,并且框架旨在减轻一遍又一遍重新发明轮子的负担,我希望有一些比我在其他方面做的事情更好的解决方案 PHP 脚本。
我不知道我是否明白了,但是
{!! $value !!}
将阻止默认的 blade 转义。所以,如果在你的 blade 视图中你有一个 $link
变量等于 http://google.de/
,你肯定可以显示它未转义:
<a href="{!! $link !!}">{!! $link !!}</a>
我目前正在做一个 Laravel 5.1 项目并使用 Blade 模板引擎。
Blade 提供了一种语法,通常可以像这样转义所有用户输入:
{{ $value }}
我现在想要转义 一切,但 URL 从用户输入输出时为了使 link 可点击。
例如 link
http://google.de/
应该被捕获(即被某个正则表达式)并转化为:
<a href="http://google.de">http://google.de/</a>
我确实有可能在我的 AppServiceProvider 中使用纯 PHP(遍历文本,用可点击的 HTML 元素替换文本 links 并替换所有 不是一个link和它各自的HTML实体对应物)。
但是,由于这是一个框架,并且框架旨在减轻一遍又一遍重新发明轮子的负担,我希望有一些比我在其他方面做的事情更好的解决方案 PHP 脚本。
我不知道我是否明白了,但是
{!! $value !!}
将阻止默认的 blade 转义。所以,如果在你的 blade 视图中你有一个 $link
变量等于 http://google.de/
,你肯定可以显示它未转义:
<a href="{!! $link !!}">{!! $link !!}</a>