我在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 }}
,但是页面未加载。
答案 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。可能有一些数据弄乱了模板中的关闭/打开标签。
答案 1 :(得分:1)
尝试使用jquery的 replaceWith()函数,并在其中施加限制,以便在输入中找到 {{}} 时将其转换为HTML实体。< / p>
用于 {的HTML实体是{
,用于} 的HTML实体是}
有关更多信息,请访问replaceWith()函数,对于HTML实体,请访问here
答案 2 :(得分:0)
清除视图缓存后再试
php artisan view:clear
要将文本转换为html,请使用{!! !!}
希望这会有所帮助:)