2012-05-05 7 views
31

Pour des raisons évidentes, l'angle gauche ne peut pas être utilisé littéralement en texte HTML. Le statut de l'angle droit n'est pas aussi clair. Cela fonctionne quand je l'essaye, mais bien sûr les navigateurs pardonnent notoirement des constructions qui ne sont pas strictement HTML valide.Angle droit en HTML

http://www.w3.org/TR/html4/charset.html#h-5.4 semble indiquer qu'elle est valide, bien qu'elle ne soit peut-être pas supportée par les anciens navigateurs, mais elle mentionne également spécifiquement les valeurs d'attribut entre guillemets. Is it necessary to html encode right angle brackets? dit aussi qu'il est valide, mais encore une fois, il parle spécifiquement des valeurs d'attribut entre guillemets.

Quelle est la réponse pour les blocs simples de texte (le contenu d'un <pre> élément se trouve être le cas que je regarde), et est-ce différent en aucune façon?

+0

De toute façon, il va falloir échapper aux parenthèses gauches. Pourquoi ne pas faire la chose la plus facile et la plus sûre et échapper à la bonne parenthèses? –

+0

Parce que je dois maintenir un morceau de texte qui se compose de sortie de programme qui contient des virgules, mais pas à gauche, et cela détermine si la tâche de maintenance est copier et coller contre copier, coller et rechercher/remplacer. – rwallace

Répondre

56

Le caractère « > » peut être utilisé en tant que tels que le caractère de données dans une version de HTML, à la fois dans le contenu de l'élément et dans une valeur d'attribut. Cela découle de l'absence de toute affirmation contraire dans les spécifications.

Il est souvent échappé comme &gt;, ce qui est valide mais non nécessaire pour toute raison formelle ou technique. Il est utilisé en partie parce que les gens supposent qu'il est nécessaire de la même manière que le caractère "<" doit être échappé, en partie pour la symétrie: écriture, par exemple, &lt;code&gt; peut sembler plus symétrique que &lt;code>.

Le caractère ">" est le caractère PLUS GRAND QUE. Il est utilisé dans de nombreux contextes, comme le balisage HTML, en tant que délimiteur d'une sorte, à la manière d'une parenthèse, mais les chevrons réels, tels qu'utilisés dans certaines notations mathématiques, sont plutôt différents, comme "⟩" U + 27E9 . Si vous devez inclure des chevrons dans un document HTML, vous devez prendre en compte certains problèmes sérieux, mais ceux-ci sont liés aux polices (et à la sémantique), et non à un conflit potentiel avec des caractères importants pour le balisage.

+5

Une raison d'utiliser > est que vous pouvez le différencier rapidement d'un élément html brisé lors du codage. Aussi certains éditeurs peuvent le marquer comme invalide, sans importance de savoir si c'est ou n'est pas. – Sam

1

Les crochets droits sont autorisés dans une balise <pre> ou comme texte dans un élément.

Il n'y a aucune ambiguïté en les utilisant de cette manière et les parseurs n'ont aucun problème à les "comprendre".

Personnellement, j'échapper tout ce à chaque fois que je dois les utiliser, pour correspondre à crochets gauche ...