2013-02-28 4 views
29

In HTML, Was ist die bevorzugte Möglichkeit, HTML-Codes wie " anzugeben, und was ist der Hauptunterschied? Zum Beispiel:Wie double Quotes über HTML-Codes codieren

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

Welchen sollte ich verwenden und wäre es jemals ein Problem, wenn einer von diesen veraltet wird?

+0

" oder " sind gute Weg, schließlich Browser-Unterstützung zählt. – Sarang

Antwort

49

Es gibt wirklich keine Unterschiede.

&quot; als &#34; verarbeitet, die das dezimale Äquivalent von &x22; ist, die der ISO 8859-1-äquivalent von " ist.

Der einzige Grund, warum Sie gegen die Verwendung von &quot; sein können, ist, weil es mistakenly omitted from the HTML 3.2 specification war.

Sonst läuft alles auf persönliche Vorlieben hinaus.

+0

Ausgezeichnete Erklärung @JamesDonnelly und einige große historische Referenzierung - danke! –

5

Google empfehlen, dass Sie nicht einer von ihnen verwenden, source.

Es besteht keine Notwendigkeit Entitätsverweise wie &mdash, &rdquo oder &#x263a, vorausgesetzt, die gleiche Codierung (UTF-8) zu verwenden ist verwendet für Dateien und Editoren sowie zwischen den Teams.

Gibt es einen Grund, warum Sie nicht einfach " verwenden können?

+1

Kein Grund wirklich @Andy. Seit Jahren wurde ich darauf vorbereitet, HTML-Codes wann und wo immer möglich zu verwenden. Hauptsächlich aufgrund des Renderns von Inhalten aus Datenbanken, WordPress-Posts, der Tatsache, dass Junky-Zeichen von Leuten stammen, die Word-Dokumente in Textareas kopieren und einfügen. Meine Konditionierung war schon immer die Verwendung von HTML-Codes als eine Praxis zur Inhaltserstellung. Ich war nur neugierig, warum es drei verschiedene Möglichkeiten geben muss, um beispielsweise doppelte Anführungszeichen in HTML-Codes zu schreiben. –

+3

Hey @Andy - dein Link zu den Empfehlungen von Google/Style Guide ist wirklich sehr nützlich. Ich habe es nur gelesen und es setzt viele großartige Standards (was ich meine persönlichen "Best Practices" nenne). Danke für den Link! Ich muss mich immer noch an die HTML-Code-Methode erinnern, aber dieses Dokument gibt mir viel zu denken. –

+1

Nun, es gibt einen guten Grund dafür.Ich musste nur eine Situation beheben, wo zum Beispiel Länge von 12 "in einer Datenbank gespeichert wird und später ein Teil des Bild-Alt-Attributs wird - generiert von JavaScript. Also etwas linke var myAlt =" einige stuff 12 "lang"; wird das Skript brechen, aber var myAlt = "einige stuff 12 " lang"; wird gut funktionieren. – vector

2

Es gibt keinen Unterschied, in Browsern, die Sie heutzutage in freier Wildbahn finden können (das heißt, Dinge wie Netscape 1, die Sie in einem Museum finden können, ausgeschlossen). Es besteht kein Grund zu der Annahme, dass einige von ihnen jemals veraltet sind, insbesondere, da sie alle in XML, in HTML 4.01 und in HTML5 CR gültig sind.

Es gibt keinen Grund, einen von ihnen zu verwenden, im Gegensatz zur direkten Verwendung des Ascii-Anführungszeichens ("), außer in dem speziellen Fall, in dem ein Attributwert in solchen Marken enthalten ist und Sie den Markierung im Wert (zB title="Hello &quot;world&quot;"), und selbst dann gibt es fast immer bessere Möglichkeiten (wie title='Hello "word"' oder title="Hello “word”".

Wenn Sie stattdessen „intelligente“ Anführungszeichen verwenden, dann ist es eine andere Frage, und niemand Einige Leute erwarten, dass Notationen wie "intelligente" Anführungszeichen erzeugen, aber es ist leicht zu sehen, dass sie das nicht tun, die Notationen bezeichnen eindeutig das Ascii-Zitat ("), wie es in der Berechnung verwendet wird r Sprachen.