laravel template @yield - Laravel 5: Afficher du code HTML avec une lame




7 Answers

vous devez faire de cette façon

{!! $text !!}

La chaîne s'échappe automatiquement lorsque vous effectuez {{}}

free moteur

J'ai une chaîne retournée à l'un de mes points de vue, comme ceci:

$text = '<p><strong>Lorem</strong> ipsum dolor <img src="images/test.jpg"></p>'

J'essaye de l'afficher avec Blade:

{{$text}}

Cependant, la sortie est une chaîne brute au lieu de HTML rendu. Comment afficher du HTML avec Blade dans Laravel 5?

PS. PHP echo() affiche le code HTML correctement.







Essaye ça. Cela a fonctionné pour moi.

{{ html_entity_decode($text) }}

Dans le modèle Laravel Blade, {{}} wil escape html. Si vous souhaitez afficher html à partir du contrôleur, décoder html à partir de la chaîne.




Si vous voulez échapper à l'utilisation des données

{{ $html }}

Si vous ne voulez pas échapper à l'utilisation des données

{!! $html !!}

Mais jusqu'à Laravel-4, vous pouvez utiliser

{{ HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) }}

Quand vient à Laravel-5

{!! HTML::link('/auth/logout', 'Sign Out', array('class' => 'btn btn-default btn-flat')) !!} 

Vous pouvez également le faire avec la fonction PHP

{{ html_entity_decode($data) }}

parcourir le document PHP pour les paramètres de cette fonction

html_entity_decode - php.net




C'est un simple

{!! $ texte !!}

laravel compile comme un élément dom et {{$ text}} imprime sous forme de chaîne




Dans Php Laravel pour afficher $ données de test dans la page HTML: -

{{ $test }}

D'une autre façon

<? $test ?>



$ data = Utilisateur :: where ('id', 1) -> first ();

Dans la page de lame,

Nom: {{$ data-> nom}}




Related