2009-07-22 8 views

Répondre

17

Non, il n'a pas besoin d'être codé comme un URI. Cependant, les caractères HTML doivent être codés, comme celui-ci ...

<img src="myimg.png" alt="Me &amp; my image" /> 
+0

Remplacer "devrait" par "doit" - au moins si vous voulez passer un validateur – kdgregory

+4

Remplacer par must si vous n'avez pas wa Ne soyez pas pris de mettre des citations là-bas. –

+0

Remplacez par must si vous ne voulez pas l'écran jaune de la mort (en supposant que vous utilisez votre XHTML en tant qu'application/xhtml + xml, autrement écrire XHTML est juste plus de problèmes que ça vaut la peine) – Quentin

2

Non, il ne fonctionne pas. L'encodage est pour les URL comme dans http://en.wikipedia.org/wiki/Dream%20Theater, ce que la chaîne alt ne l'est pas.

Vous devez utiliser entity-encoding pour échapper > comme &gt;, et " comme &quot;, cependant. Notez que cela est différent de URI encoding où les caractères spéciaux sont codés comme un signe de pourcentage plus deux chiffres hexadécimaux.

5

Ils ne nécessitent pas l'encodage d'URL, mais ils exigent, comme tous les attributs XHTML font, le codage d'entité XHTML.

incorrect:

<img src="foo.gif" alt="Ben & Jerry's" /> 

Correct:

<img src="foo.gif" alt="Ben &amp; Jerry's" /> 

Vous devez également encoder des guillemets doubles dans les valeurs, même si vous ne disposez pas de le faire dans le texte général.

Référence:.

0

Vous devez utiliser le codage HTML (par exemple "devient "), pas le codage URL Si vous utilisez ASP.NET, vous pouvez y parvenir avec Server.HtmlEncode ou mieux encore utiliser la méthode HtmlAttributeEncode dans le

Questions connexes