2017-09-01 7 views
-3

J'ai une variable javascript qui remplit avec le système de traduction Laravel:Remplace & # 039 avec 'javascript

'are_you_sure' => '¿Remplacer l\'arbre?', 

puis à JS:

swal({ 
      title: "{{ trans('msg.are_you_sure') }}", 
      ... 

    }); 

Et il me semble:

¿Remplacer l'arbre?

EDIT:

Désolé pour htmlspecialchars, la chose est qu'il ne change pas la suppression htmlspecialchars, ajoutant, ou en ajoutant htmlspecialchars_decode

+1

Uhm ... 'htmlspecialchars' est ce qui transforme' ' 'en '& # 039' ... Simplement ... * ne faites pas ça!? * – deceze

+0

Savez-vous ce que fait' htmlspecialchars'? C'est exactement cela, en tournant '' 'dans' ' ' –

+0

vérifier edit, il ne fonctionne pas dans tous les cas ... :( –

Répondre

1

htmlspecialchars prend une chaîne de texte brut et il se transforme en HTML.

dire exactement le contraire de ce que vous voulez faire

Regardez htmlspecialchars_decode à la place.

Méfiez-vous " et les caractères de nouvelle ligne qui vont casser la syntaxe JS. C'est ce qui provoque la transformation de votre ' en traduction html (& # 039)

0

Je l'ai enfin trouvé. Je devais remplacer {{ }} par {!! !!}

-1

Je pense que vous pouvez utiliser unescape() pour convertir le code en une chaîne, je vous ai laissé un web ici https://www.w3schools.com/jsref/jsref_unescape.asp

+0

' unescape' est (a) obsolète en raison de la rupture du support unicode et ne doit pas être utilisé et (b) échappe au mauvais type d'échappement pour ce problème – Quentin

+0

W3Schools sont [beaucoup mieux qu'ils ne l'étaient autrefois] (http://www.w3fools.com/) ce qui signifie qu'ils ne sont pas pire que * horrible *. Vous devriez éviter de les recommander – Quentin

+0

Merci @Quentin pour le conseil –