Laravel 5.1用户输入文本中的链接/可点击链接


Laravel 5.1 Linkification / clickable links in user-entered text

我目前正在做一个Laravel 5.1项目,使用的是Blade模板引擎。

Blade提供了一种语法,通常转义所有用户输入,如下所示:

{{ $value }}

我现在想转义的一切,但url 从用户输入输出时,为了使链接可点击。

例如,链接

http://google.de/ 

应该被捕获(即通过特定的RegEx)并转换为:

<a href="http://google.de">http://google.de/</a>

我确实有可能在我的AppServiceProvider中使用纯PHP(遍历文本,用可点击的HTML元素替换文本链接,并将不是链接的所有内容替换为其各自的HTML实体对应项)。

然而,因为这是一个框架,而框架的设计是为了减轻一遍又一遍地重新发明轮子的负担,我希望有一些更好的解决方案,而不是做我在其他PHP脚本中所做的事情。

我不知道我是否讲清楚了,但是

{!! $value !!}  

将阻止默认的刀片转义。因此,如果在刀片视图中,您有一个$link变量等于http://google.de/,您当然可以将其显示为未转义的:

<a href="{!! $link !!}">{!! $link !!}</a>