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?
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
If you don't want the data to be escaped then use {!! !!}
else use {{ }}
.
To escape data use
{{ $data }}
If you don't want the data to be escaped use below
{!! $data !!}
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 !!}.
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
In Laravel {{ }}
should pass data as plain text with HTML escaping while {!! !!}
pass data as content as-is, without any HTML escaping.
For e.g: I have a $status = '<b>Active Status</b>';
variable which stores HTML content as a data.
Now if I write this data as {{ $status }}
Then it will return as a plain text
.
Expected Output is:
<b>Active Status</b>
But if I write this data as {!! $status !!}
then it will return as HTML
code.
Expected Output is:
๐๐ฐ๐๐ถ๐๐ฒ ๐ฆ๐๐ฎ๐๐๐
© 2022 - 2024 โ McMap. All rights reserved.