顯示HTML我有一個字符串返回給我的意見之一,是這樣的:Laravel 5:用刀片
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我試圖用刀片將其顯示:
{{$text}}
然而,輸出是一個原始字符串,而不是呈現的HTML。如何在Laravel 5中顯示帶有刀片的HTML?
PS。 PHP echo()
正確顯示HTML。
顯示HTML我有一個字符串返回給我的意見之一,是這樣的:Laravel 5:用刀片
$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'
我試圖用刀片將其顯示:
{{$text}}
然而,輸出是一個原始字符串,而不是呈現的HTML。如何在Laravel 5中顯示帶有刀片的HTML?
PS。 PHP echo()
正確顯示HTML。
你需要在執行做這樣
{!! $text !!}
字符串會自動轉義{{}}
Thanks..its working .. {!! html_entity_decode($ data)!!} – 2017-04-06 07:29:08
這是一個真實的答案!謝謝 – 2018-01-11 18:51:03
試試這個。它爲我工作。
{{ html_entity_decode($text) }}
在Laravel Blade模板中{{}}將轉義html。如果你想在控制器中顯示html,請從字符串解碼html。
請使用
{!! $test !!}
只有在HTML的情況下,而如果你想呈現的數據,刺痛等使用
{{ $test }}
這是因爲當你的刀片文件編譯
{{ $test }}
轉換爲<?php echo e($test) ?>
而
{!! $test !!}
轉換爲<?php echo $test ?>
還有另一種方法。如果對象目的是呈現html,則可以實施\Illuminate\Contracts\Support\Htmlable
合同,該合同具有toHtml()
方法。
然後,您可以像這樣從刀片呈現該對象:{{ $someObject }}
(注意,不需要{!! !!}
語法)。
此外,如果你想返回的HTML屬性,你知道這將是HTML中,使用\Illuminate\Support\HtmlString
類是這樣的:
public function getProductDescription()
{
return new HtmlString($this->description);
}
,然後使用它像{{ $product->getProductDescription() }}
。
當然,直接在頁面上呈現原始HTML負責。
如果你想逃離該數據使用
{{ $html }}
如果不想逃跑的數據使用
{!! $html !!}
但直到Laravel-4可以使用
{{ HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) }}
當談到Laravel-5
{!! HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) !!}
您也可以使用PHP函數
{{ html_entity_decode($data) }}
經過PHP文件中爲這個函數的參數
在PHP Laravel來顯示HTML $的測試數據做頁: -
{{ $test }}
以不同的方式
<? $test ?>
$ data = User :: where('id',1) - > first();
在刀片頁面,
名稱:{{$數據 - >名}}
您可以使用{! $文字!!}用於渲染HTML代碼Laravel
{!! $text !!}
如果使用
{{ $text }}
它不會呈現HTML代碼,並打印作爲一個字符串。
它的一個簡單
{! $文本!}
laravel編譯爲DOM元素和{{$文字}}打印作爲一個字符串
我想你應該選擇這個作爲答案。 – apis17 2016-02-03 07:14:18
以下是Laravel提到的文檔:「如果您不希望數據被轉義,您可以使用以下語法:'Hello,{!! $ name !!}。」https://laravel.com /docs/5.5/blade#displaying-data – Ryan 2017-10-31 22:08:13
我喜歡它,視覺上真的很清楚這是一些不同於平常的東西......! – Andrew 2018-02-18 16:12:54