由于Laravel 5.7中的{{}},无法加载视图

时间:2019-02-19 15:56:34

标签: php laravel view summernote

我在Laravel视图的文本区域中设置了 summer-note.js ,如果我输入了任何数据并在数据中包含{{}}并点击保存按钮,则该帖子将保存成功,但是当我转到显示路线时,在检查完页面之后,页面根本没有加载,body元素仅在显示,但是当我查看页面源代码时,所有代码都显示在那儿,那么我添加了没有{{}}的新数据,然后我转到了显示路线,该页面可以正常加载,但是当我在数据中包含{{}}时,该页面无法加载现在,我的Laravel查看代码:

<div class="col-md-8">
    <h1>Question # {{ $question->id }}:</h1>
    <p>{!! $question->question !!}</p>
</div>

我认为这是由于{{ {{ }} }}的两倍所致,因为当它渲染数据时,它会变成 {{这是{{question}}#1}} ,所以有什么解决方法吗?

我同时尝试了{!! $question->question !!}{{ $question->question }},但是页面未加载。

3 个答案:

答案 0 :(得分:1)

如果我正确理解,可能是您错过了'@'

像这样:

@{{ '{{ test }}' }}

https://laravel.com/docs/5.7/blade#blade-and-javascript-frameworks

在给出测试数据的情况下,显示页面没有任何问题:

@php
      $test = '<p>{{Lo<u>rem ipsum dolor s<b>it amet, consectetur }}</p>';
@endphp
<p>{!! $test !!}</p>
<p>{{ $test  }}</p>

我也强烈建议不要输出未转义的html。可能有一些数据弄乱了模板中的关闭/打开标签。

enter image description here

答案 1 :(得分:1)

尝试使用jquery的 replaceWith()函数,并在其中施加限制,以便在输入中找到 {{}} 时将其转换为HTML实体。< / p>

用于 {的HTML实体是&#123;,用于} 的HTML实体是&#125;

  

有关更多信息,请访问replaceWith()函数,对于HTML实体,请访问here

答案 2 :(得分:0)

清除视图缓存后再试

php artisan view:clear 要将文本转换为html,请使用{!! !!}

希望这会有所帮助:)