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

标签 php laravel input laravel-blade

我目前正在从事 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/

相关文章:

php - 发布日期 youtube api 的正确日期格式

php - 如何根据对象的键(而不是整个对象)更新列表中的对象?

php - "Trying to get property ' 非对象的名称

php - 如何使用 laravel 4 邮件方法设置 hotmail?

javascript - 如果有多个位置,如何寻址一个位置的两个 INPUT 的值

javascript - ExtJs 数字字段

php - 如果登录,Laravel 在访问登录页面时重定向到用户仪表板

php - 以空格作为分隔符展开数组并将值推送到新数组

laravel - 由 Laravel Eloquent 订购

java - 在java中创建输入对象时找不到符号错误