2013-02-28 28 views
29

In HTML, qual è il modo preferito per specificare i codici html come " e quali sono le principali differenze? Per esempio:Come codificare le doppie virgolette tramite codici HTML

&quot; <!-- friendly code --> 
&#34;  <!-- numerical code --> 
&#x22; <!-- hex code --> 

Quale dovrei usare e sarebbe mai essere un problema se uno di questi ottiene deprecato?

+0

" o " sono buoni, infine il supporto del browser è importante. – Sarang

risposta

49

Non ci sono davvero differenze.

&quot; viene elaborato come &#34; che è l'equivalente decimale di &x22; che è l'ISO 8859-1 equivalente di ".

L'unico motivo per cui si può essere contrari all'utilizzo di &quot; è dovuto al fatto che era mistakenly omitted from the HTML 3.2 specification.

Altrimenti tutto si riduce alle preferenze personali.

+0

Ottima spiegazione @ JamesDonnelly e alcuni grandi riferimenti storici - grazie! –

5

Google consiglia di non utilizzare nessuno di loro, source.

Non v'è alcuna necessità di utilizzare riferimenti ad entità come &mdash, &rdquo o &#x263a, assumendo la stessa codifica (UTF-8) è utilizzato per i file e gli editor nonché tra i team.

C'è un motivo per cui non è possibile utilizzare semplicemente "?

+1

No reason really @Andy. Per anni sono stato condizionato all'utilizzo di codici html ogni volta e ovunque possibile. Principalmente a causa del rendering di contenuti da database, messaggi WordPress, il fatto che i personaggi junky provengono da persone che copiano e incollano documenti Word in textareas, ecc. Quindi il mio condizionamento è sempre stato quello di utilizzare codici html come pratica per la creazione di contenuti. Ero solo curioso di sapere perché ci devono essere 3 diversi modi per codificare un virgolette in codici html, per esempio. –

+3

Hey @Andy: il tuo link alle raccomandazioni/guida di stile di Google è davvero molto utile. L'ho appena esaminato e stabilisce molti ottimi standard (quello che mi piace definire le mie "Best Practices" personali). Grazie per aver condiviso questo link! Ho ancora bisogno di preoccuparmi del metodo dei codici HTML, ma questo documento mi dà molto da pensare. –

+1

Beh, c'è una buona ragione per quello.Ho appena dovuto risolvere una situazione in cui per esempio la lunghezza di 12 "viene salvata in un DB e successivamente diventa una parte dell'attributo alt dell'immagine - generato da JavaScript. Quindi qualcosa di linke var myAlt =" some stuf 12 "long"; interromperà lo script, ma var myAlt = "some stuf 12 " long"; funzionerà bene – vector

2

Non c'è differenza, nei browser che puoi trovare in natura in questi giorni (cioè, escludendo cose come Netscape 1 che potresti trovare in un museo). Non c'è motivo di sospettare che qualcuno di loro sarebbe stato deprecato, specialmente perché sono tutti validi in XML, in HTML 4.01 e in HTML5 CR.

Non vi è alcun motivo per utilizzare nessuno di essi, come l'opposto di utilizzare direttamente le virgolette Ascii ("), tranne nel caso molto particolare in cui si dispone di un valore di attributo racchiuso tra tali marchi e si desidera utilizzare il marchio all'interno il valore (ad esempio, title="Hello &quot;world&quot;"), e anche allora, ci sono opzioni quasi sempre meglio (come title='Hello "word"' o title="Hello “word”".

Se si desidera utilizzare le virgolette “intelligenti”, invece, allora è una domanda diversa, e nessuno dei costrutti ha qualcosa a che fare con loro.Alcune persone si aspettano che le notazioni come &quot; producano virgolette "intelligenti", ma è facile vedere che non lo fanno, le notazioni indicano in modo inequivocabile la citazione Ascii ("), come usato nel calcolo r lingue.

Problemi correlati