2012-05-05 16 views
31

Per ovvi motivi, la parentesi angolare sinistra non può essere utilizzata letteralmente nel testo HTML. Lo stato della staffa ad angolo retto non è così chiaro. Funziona quando lo provo, ma ovviamente i browser notoriamente perdonano i costrutti che non sono HTML validi.Staffa ad angolo retto in HTML

http://www.w3.org/TR/html4/charset.html#h-5.4 sembra dire che è valido, anche se potrebbe non essere supportato dai browser più vecchi, ma fa anche menzione specifica dei valori degli attributi citati. Is it necessary to html encode right angle brackets? dice anche che è valido ma di nuovo parla specificamente dei valori di attributo quotati.

Qual è la risposta per pezzi di testo semplici (il contenuto di un elemento <pre> è il caso che sto guardando) e differisce in alcun modo?

+0

Dovrai comunque scappare dalle parentesi quadre. Perché non fare la cosa più semplice e sicura e sfuggire anche alle parentesi giuste? –

+0

Perché devo mantenere una porzione di testo che consiste nell'output del programma che contiene parentesi angolari ma non lasciate, e questo determina se l'attività di manutenzione è copia e incolla contro copia, incolla e cerca/sostituisci. – rwallace

risposta

56

Il carattere “>” può essere utilizzato come carattere, come i dati in qualsiasi versione di HTML, sia nel contenuto dell'elemento e in un valore di attributo. Ciò deriva dalla mancanza di qualsiasi affermazione contraria nelle specifiche.

Spesso è evaso regolarmente come &gt;, che è valido ma non richiesto per motivi formali o tecnici. Viene utilizzato in parte perché le persone presuppongono che sia necessario allo stesso modo del carattere "<" che deve essere sfuggito, in parte per simmetria: la scrittura, ad esempio, &lt;code&gt; può sembrare più simmetrica di &lt;code>.

Il carattere ">" è il carattere MAGGIORE DI. È usato in molti contesti, come il markup HTML, come un delimitatore di un tipo, in una sorta di parentesi quadra, ma le parentesi angolari reali, come usate in alcune notazioni matematiche, sono piuttosto diverse, come "⟩" U + 27E9 . Se devi includere parentesi angolari in un documento HTML, devi considerare alcuni problemi seri, ma si riferiscono ai tipi di carattere (e alla semantica), non a qualsiasi potenziale conflitto con i caratteri significativi del markup.

+5

Un motivo per usare > è così che puoi differenziarlo rapidamente da un elemento html rotto durante la codifica. Inoltre alcuni editori potrebbero contrassegnarlo come non valido, irrilevante del fatto che sia o non sia. – Sam

1

Le parentesi angolari sono legali all'interno di un tag <pre> o come testo all'interno di un elemento.

Non c'è alcuna ambiguità quando li si utilizza in questo modo e gli analizzatori non hanno alcun problema con "comprenderli".

Personalmente, ho solo sfuggire a queste ogni volta che ho bisogno di usarli, solo per abbinare parentesi angolare sinistra ...