В чем разница между {}} и {!!} в файлах Laravel blade?

в Laravel framework мы можем использовать blade для добавления PHP-кода в html-файл.
Мы используем оба {{ }} и {!! !!} синтаксис в блейд-файлах Laravel.
В чем разница между ними?

5 ответов


операторы Blade {{ }} автоматически отправляются через функцию htmlentities PHP для предотвращения атак XSS.

если вы передаете данные с вашего контроллера в представление с некоторым HTML-стилем, например:

$first = "<b>Narendra Sisodia</b>";

и он доступен, в пределах Blade, с {{ $first }} тогда выход будет:

<b>Narendra Sisodia</b>

но если он доступен с {!! $first !!} тогда выход будет:

Нарендра Сисодия


Если вы не хотите, чтобы данные были экранированы, используйте {!! !!} использовать {{ }}.


из документации: https://laravel.com/docs/5.1/blade

по умолчанию Blade {{ }} операторы автоматически отправляются через функцию htmlentities PHP для предотвращения атак XSS. Если вы не хотите, чтобы ваши данные были экранированы, вы можете использовать следующий синтаксис:

Hello, {!! $name !!}.

операторы Blade {{ }} автоматически отправляются через функцию htmlentities PHP для предотвращения атак XSS.

вы можете увидеть больше здесь:https://laravel.com/docs/master/blade


чтобы избежать использования данных

{{ $data }}

Если вы не хотите, чтобы данные были экранированы, используйте ниже

{!! $data !!}