Pergunta sobre html – Colchete angular direito em HTML

34

Por razões óbvias, o colchete angular esquerdo não pode ser usado literalmente em texto HTML. O status do colchete angular direito não é tão claro. Ele funciona quando eu tento, mas é claro que os navegadores são perdoadores de construções que não são estritamente válidas em HTML.

http://www.w3.org/TR/html4/charset.html#h-5.4 parece estar dizendo que é válido, embora possa não ser suportado por navegadores mais antigos, mas também faz menção específica a valores de atributos citados.É necessário codificar html colchetes angulares direito? também diz que é válido, mas novamente fala especificamente sobre valores de atributos citados.

Qual é a resposta para pedaços simples de texto (conteúdo de um<pre> O elemento é o caso que eu estou olhando), e isso difere de alguma forma?

Porque eu tenho que manter um pedaço de texto que consiste na saída do programa que contém colchetes angulares, mas não à esquerda, e isso determina se a tarefa de manutenção é copiar e colar versus copiar, colar e pesquisar / substituir. rwallace
Você vai ter que escapar de colchetes de qualquer maneira. Por que não fazer a coisa mais fácil e mais segura e também escapar dos colchetes direitos? JB Nizet

Sua resposta

2   a resposta
1

Colchetes angulares direito são legais dentro de um<pre> tag ou como texto dentro de um elemento.

Não há ambiguidade ao usá-los dessa maneira e os analisadores não têm problema em "compreendê-los".

Pessoalmente, eu apenas escapei deles sempre que preciso usá-los, apenas para combinar os colchetes angulares esquerdos ...

59

O caractere “>” pode ser usado como caractere de dados em qualquer versão do HTML, tanto no conteúdo do elemento quanto em um valor de atributo. Isto decorre da falta de qualquer declaração em contrário nas especificações.

Muitas vezes é rotineiramente escapado como&gt;, que é válido, mas não é obrigatório por qualquer razão formal ou técnica. É usado em parte porque as pessoas assumem que é necessário da mesma forma que o caractere “<” precisa ser escapado, em parte por simetria: escrever, digamos,&lt;code&gt; pode parecer mais simétrico do que&lt;code>.

O caractere “>” é o caractere MAIOR DO QUE. Ele é usado em muitos contextos, como a marcação HTML, como um delimitador de um tipo, de forma parecida com um colchete, mas os parênteses angulares reais, usados ​​em algumas notações matemáticas, são bastante diferentes, como “⟩” U + 27E9 . Se você precisar incluir colchetes angulares em um documento HTML, terá alguns problemas sérios a serem considerados, mas eles estão relacionados a fontes (e semântica), e não a possíveis conflitos com caracteres significativos de marcação.

Um motivo para usar o & gt; é assim que você pode diferenciá-lo rapidamente de um elemento html quebrado ao codificar. Alguns editores também podem marcá-lo como inválido, irrelevante se é ou não é. S..

Perguntas relacionadas