web-dev-qa-db-fra.com

Pourquoi ne pas utiliser `apos;` pour échapper aux guillemets simples?

Comme indiqué dans, Quand les guillemets simples en HTML sont-ils devenus si populaires? et guillemet incorporé dans Jquery , l'entrée de Wikipedia sur HTML indique ce qui suit:

Le caractère guillemet simple ('), lorsqu'il est utilisé pour citer une valeur d'attribut, doit également être échappé sous la forme ' ou ' (NE doit PAS être échappé sous la forme ' sauf dans les documents XHTML) lorsque il apparaît dans la valeur d'attribut elle-même.

Pourquoi ne pas utiliser '? De plus, " est-il sûr d’être utilisé à la place de "?

149
brad

" figure sur la liste officielle des entités valides HTML 4 , mais ' ne l’est pas.

De C.16. La référence du personnage nommé ' :

La référence du caractère nommé ' (l'apostrophe, U + 0027) a été introduite dans XML 1.0 mais n'apparaît pas en HTML. Les auteurs doivent donc utiliser ' au lieu de ' pour fonctionner comme prévu dans les agents utilisateurs HTML 4.

165
cletus

' ne fait pas partie du standard HTML 4.

" est cependant utilisable.

27
Anon.

" est valide à la fois en HTML5 et HTML4.

' est valide dans HTML5 , mais pas HTML4 . Cependant, la plupart des navigateurs supportent quand même ' pour HTML4.

24
Zaz

Si vous devez écrire un balisage correct, même en HTML5, vous devez ne pas utiliser ' pour échapper aux guillemets simples. Bien que, je peux imaginer que vous vouliez réellement parler d’apostrophe plutôt que de simple citation.

guillemets simples et apostrophes ne sont pas identiques, sémantiquement, bien qu'ils puissent se ressembler.

Voici une apostrophe.

Utilisez ’ pour l'insérer si vous avez besoin du support de HTML4.

En anglais britannique, les guillemets simples sont utilisés comme ceci:

"Il m'a dit d'essayer", ai-je dit.

Les citations viennent par paires. Vous pouvez utiliser:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

avoir des guillemets imbriqués de manière sémantique, différant la substitution des caractères réels au moteur de rendu. Cette substitution peut alors être affectée par règles CSS , comme par exemple:

q {
  quotes: '"' '"' '<' '>';
} 

Un article ancien, mais apparemment toujours pertinent, sur le balisage sémantiquement correct: The Trouble With EM ’n EN (et d’autres personnages obscurs) .

16
R. Schreurs

Si vous avez vraiment besoin de guillemets simples, d’apostrophes, vous pouvez utiliser

html    | numeric | hex
&lsquo; | &#145;  | &#x91; // for the left/beginning single-quote and
&rsquo; | &#146;  | &#x92; // for the right/ending single-quote
2
Jeff