2017-03-13 2 views
0

Je dispose d'un scénario dans lequel l'utilisateur peut définir un modèle de texte et utiliser des espaces réservés entre accolades qu'il doit remplacer de façon dynamique.Modèles de lame de processus à l'intérieur des chaînes

Par exemple, l'entrée de l'utilisateur pourrait être des chaînes comme:

$userinput = '<p> Hello {{$name}} <\p>'; 
$userinput = '<p> Hi {{$name}} <\p>'; 

Je veux afficher cette entrée avec les espaces réservés élargis en vue message.blade.php

@section('content') 
    {!! $userinput !!} 
@stop 

Le code HTML obtient rendu correctement, mais mais bien sûr, {{$ name}} n'est pas remplacé par 'Alice'. Y at-il un moyen simple de traiter l'espace réservé interne également? Puis-je interpréter le fichier lame une seconde fois? PS: Je suis conscient que les entrées utilisateur non échappées sont mauvaises.

+0

avez-vous essayé dd() ?? Avez-vous vérifié que vous recevez une valeur pour le nom ?? vous avez aussi essayé d'utiliser {{$ var}} à la place {!! $ var !!} – RohitS

+0

'$ userinput = '

Bonjour'. $ name. '

'; 'travaillerait-il pas? Si vous définissez le '$ userinput' dans un' Controller', vous ne devriez pas avoir besoin de raccourcis 'blade'. –

+0

Si vous êtes à l'intérieur d'un bloc

Répondre

0

Vous pouvez changer: $userinput = '<p> Hello {{$name}} <\p>'; pour $userinput = '<p> Hello {!! $name !!} <\p>'; Ce sera scape la séquence avant le rendu.