php tags - Come posso utilizzare i tag HTML in un file di localizzazione di Laravel?



dove mettere (2)

Usa {!! !!} {!! !!} invece di {{ }} per impedire l'escape:

{!! trans('nav.find') !!}

Sto cercando di utilizzare la funzione di localizzazione di Laravel, ma ho bisogno di essere in grado di mettere enfasi o grassetto su una porzione di frase. L'inserimento di un tag HTML nel file della lingua fa sì che venga sfuggito quando viene emesso in un blade.

Ad esempio, ecco la mia voce del file di lingua:

return [
    'nav' => [
        'find' => '<strong>Find</strong> Your Home',
    ]
];

Quando lo chiamo da una lama: (Ho provato a usare anche le graffe triple).

{{ trans('base.nav.find') }}

Emette:

&lt;strong&gt;Find&lt;/strong&gt; Your Home

Potrei potenzialmente dividere il fraseggio come:

return [
    'nav' => [
        'fyh' => [
            'find' => 'Find',
            'yh'   => 'Your Home',
        ]
    ]
]

E poi uscita:

<strong>{{ trans('base.nav.fyh.find') }}</strong>{{ trans('base.nav.fyh.yh') }}

Ma sembra eccessivo. Qualche soluzione migliore?


Ho creato una libreria chiamata HTML5DOMDocument che è disponibile gratuitamente su https://github.com/ivopetkov/html5-dom-document-php

Supporta anche i selettori di query che ritengo saranno estremamente utili nel tuo caso. Ecco alcuni esempi di codice:

$dom = new IvoPetkov\HTML5DOMDocument();
$dom->loadHTML('<!DOCTYPE html><html><body><h1>Hello</h1><div class="content">This is some text</div></body></html>');
echo $dom->querySelector('h1')->innerHTML;




php laravel blade laravel-localization