2013-04-14 2 views
0

Étant donné un champ de saisie de formulaire par exemple <input type="text" value="xxxxx" name="something"> d'une chaîne disons Hello I said "Your my friend" isn't that nice?citation Mettre en html attribut value

Comment puis-je entrer en toute sécurité la chaîne donnée comme la valeur où « xxxxx » est dans la balise d'entrée ci-dessus ? Effectuer une substitution directe entraînerait ceci: <input type="text" value="Hello I said "Your my friend" isn't that nice?"> Comme vous pouvez le voir, le résultat final n'est pas cohérent. La valeur est maintenant Hello I said il y a un tas de texte impropre, qu'une autre chaîne, pas bon.

Comment entrer en toute sécurité des chaînes de caractères inconnus ou potentiellement dangereux dans ce genre d'attributs HTML?

+0

Il y a plusieurs questions existantes sur le sujet. De plus, le problème peut presque toujours être évité en utilisant une ponctuation appropriée, conformément aux règles des langages humains, par ex. "Bonjour, j'ai dit" Ton ami "n'est pas si gentil?" –

Répondre

3

Utilisez HTML entities

<input type="text" value="Hello I said &quot;Your my friend&quot; isn't that nice?"> 
0

Il y a des solutions de couple et vous pouvez choisir celui que vous aimez:

Hack: 1. Vous pouvez simplement utiliser le «caractère pour les citations extérieures et utiliser en toute sécurité la "caractère pour le texte à l'intérieur <input type="text" value='this "should work"' name="something">

façon appropriée. 2. Encode le caractère selon le caractère HTML référence HERE

" <input type="text" value="this &quot;should work&quot;" name="something"> ou <input type="text" value="this &#34;should work&#34;" name="something">