What is the difference between {{ }} and {!! !!} in laravel blade files?

46,125

Solution 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

Solution 2

If you don't want the data to be escaped then use {!! !!} else use {{ }}.

Solution 3

To escape data use

{{ $data }}

If you don't want the data to be escaped use below

{!! $data !!}

Solution 4

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 !!}.

Solution 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

Share:
46,125
Kumaran
Author by

Kumaran

Updated on July 09, 2022

Comments

  • Kumaran
    Kumaran almost 2 years

    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?