问题
In the laravel framework we can use blade to add PHP code in html file.
We are using both {{ }} and {!! !!} syntax in blade files of Laravel.
What is the difference between them?
回答1:
Blade {{ }} statements are automatically sent through PHP's htmlentities function to prevent XSS attacks.
If you pass data from your Controller to a View with some HTML styling like:
$first = "<b>Narendra Sisodia</b>";
And it is accessed, within Blade, with {{ $first }} then the output'll be:
<b>Narendra Sisodia</b>
But if it is accessed with {!! $first !!} then the output'll be:
Narendra Sisodia
回答2:
If you don't want the data to be escaped then use {!! !!} else use {{ }}.
回答3:
from the documentation: https://laravel.com/docs/5.1/blade
By default, Blade {{ }} statements are automatically sent through PHP's htmlentities function to prevent XSS attacks. If you do not want your data to be escaped, you may use the following syntax:
Hello, {!! $name !!}.
回答4:
To escape data use
{{ $data }}
If you don't want the data to be escaped use below
{!! $data !!}
回答5:
Blade {{ }} statements are automatically sent through PHP's htmlentities function to prevent XSS attacks.
You can see more here:https://laravel.com/docs/master/blade
来源:https://stackoverflow.com/questions/35030977/what-is-the-difference-between-and-in-laravel-blade-files