J'ai une chaîne renvoyé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 du code HTML rendu. Comment afficher le code HTML avec Blade dans Laravel 5?
PS. PHP echo()
affiche le code HTML correctement.
Vous devez utiliser
{!! $text !!}
La chaîne s'échappera automatiquement lors de l'utilisation de {{ $text }}
.
Pour laravel 5
{!!html_entity_decode($text)!!}
Compris à travers ce link , voir la réponse de RachidLaasri
Vous pouvez essayer ceci:
{!! $text !!}
Vous devriez consulter: http://laravel.com/docs/5.0/upgrade#upgrade-5.0
Veuillez utiliser
{!! $test !!}
Seulement en cas de HTML alors que si vous voulez rendre des données, sting etc. utilisez
{{ $test }}
En effet, lorsque votre fichier de lame est compilé
{{ $test }}
est converti en <?php echo e($test) ?>
while
{!! $test !!}
est converti en <?php echo $test ?>
Il y a un autre moyen. Si le but de l'objet est de rendre le code HTML, vous pouvez implémenter un contrat \Illuminate\Contracts\Support\Htmlable
avec la méthode toHtml()
.
Vous pouvez ensuite rendre cet objet à partir de la lame comme suit: {{ $someObject }}
(remarque, pas besoin de la syntaxe {!! !!}
).
De plus, si vous voulez renvoyer une propriété HTML et que vous savez que ce sera du HTML, utilisez la classe \Illuminate\Support\HtmlString
comme ceci:
public function getProductDescription()
{
return new HtmlString($this->description);
}
puis utilisez-le comme {{ $product->getProductDescription() }}
.
Bien sûr, soyez responsable lorsque vous rendez directement du code HTML brut sur une page.
Essaye ça. Cela a fonctionné pour moi.
{{ html_entity_decode($text) }}
Dans le modèle Laravel Blade, {{}} échappera au code HTML. Si vous souhaitez afficher le code HTML du contrôleur dans la vue, décodez le code HTML de la chaîne.
Vous pouvez utiliser {!! $ text !!} pour le rendu du code HTML dans Laravel
{!! $text !!}
Si tu utilises
{{ $text }}
Il ne restituera pas le code HTML et ne sera pas imprimé sous forme de chaîne.
vous pouvez faire de nombreuses manières dans laravel 5 ..
{!! $text !!}
{!! html_entity_decode($text) !!}
Utilisez {!! $text !!}
pour afficher les données sans les échapper. Veillez simplement à ne pas le faire avec des données provenant de l’utilisateur et qui n’ont pas été nettoyées.
c'est un simple
{!! $text !!}
laravel compile en tant qu'élément dom et {{$text}}
s'imprime en tant que chaîne
Cela fonctionne très bien pour Laravel 5.6
<?php echo "$text"; ?>
D'une autre façon
{!! $text !!}
Il ne restituera pas le code HTML et ne sera pas imprimé sous forme de chaîne.
Pour plus de détails ouvrir le lien: - Afficher HTML avec Blade
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 arrive à 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) }}
passer par le document PHP pour les paramètres de cette fonction
Pour qui utilise tinymce et markup dans textarea:
{{ htmlspecialchars($text) }}
J'y suis allé et c'était de ma faute. Et très stupide.
si vous oubliez l'extension .blade dans le nom du fichier, ce fichier ne comprend pas la lame mais exécute du code php. Tu devrais utiliser
/resources/views/filename.blade.php
au lieu de
/resources/views/filename.php
espérons que cela aide quelqu'un
Vous pouvez le faire en utilisant trois façons de commencer par utiliser si
{!! $text !!}
La deuxième voie
<td class="nowrap">
@if( $order->status == '0' )
<button class="btn btn-danger">Inactive</button>
@else
<button class="btn btn-success">Active</button>
@endif
</td>
La troisième manière appropriée d’utiliser l’opérateur ternaire sur la lame
<td class="nowrap">
{!! $order->status=='0' ?
'<button class="btn btn-danger">Inactive</button> :
'<button class="btn btn-success">Active</button> !!}
</td>
J'espère que la troisième voie est parfaite pour l'opérateur ternaire utilisé sur la lame.
Essayez ceci, cela a fonctionné
@ php echo $ text; @endphp