2010-01-18 4 views
119

Como se indica en, When did single quotes in HTML become so popular? y Jquery embedded quote in attribute, la entrada de Wikipedia sobre HTML dice lo siguiente:¿Por qué no se debe usar `'` para escapar de comillas simples?

El carácter comilla simple ('), cuando se utiliza para citar un valor de atributo, debe también ser escapado como ' o ' (NO se debe escapar como ' excepto en documentos XHTML) cuando aparece dentro del valor del atributo en sí.

¿Por qué no se debe usar '? Además, ¿es seguro usar " en lugar de "?

+8

[''' es válido en HTML5] (http://stackoverflow.com/a/18551371). – Zaz

+6

Tenga en cuenta que IE8 no es compatible con '''. –

Respuesta

132

" está en la lista oficial de HTML 4 entities válido, pero ' no lo está.

De C.16. The Named Character Reference ':

El personaje llamado referencia ' (el apóstrofe, U + 0027) fue introducido en XML 1.0, pero no aparece en HTML. Autores deben por lo tanto, use ' en lugar de ' para que funcionen como se espera en HTML 4 agentes de usuario.

+3

'"' está en la lista aunque , por lo que debe estar bien. –

+7

Hoy en día la casualidad de que en una máquina de IE8 ' no se ha analizado, por lo que el usuario ve el código. Sustitución con ' resuelto el problema. –

+7

&aquot; hay sustituto para ' como uno es una sola y el otro un doble – RichardTheKiwi

21

' no es parte del estándar HTML 4.

" es, sin embargo, por lo que está bien de usar.

+7

¿Cómo puede ser esto una respuesta cuando &aquot; = "no"? Es como sugerir un dos puntos para un punto y coma ... – RichardTheKiwi

+10

@Richardakacyberkiwi Lea la pregunta hasta el final. – ColBeseder

+3

@Anon .: [''' ahora es parte del estándar HTML] (http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#entity-apos). –

1

Si realmente necesita comillas simples, apóstrofes, puede utilizar

html | numeric | hex 
‘ | ‘ | ‘ // for the left/beginning single-quote and 
’ | ’ | ’ // for the right/ending single-quote 
18

" es válido tanto en HTML5 y HTML4.

' es válido en HTML5, pero no HTML4. Sin embargo, la mayoría de los navegadores admiten ' para HTML4 de todos modos.

+9

Tenga en cuenta que E 8 no es compatible con '''. –

13

Si necesita escribir el marcado semánticamente correcto, incluso en HTML5, debe no utilizar ' para escapar de comillas simples. Aunque, me imagino que en realidad querías apóstrofo en lugar de una comilla simple.

single quotes y apostrophes no son lo mismo, semánticamente, aunque pueden parecer iguales.

Aquí está one apostrophe.

Utilice ’ para insertarlo si necesita soporte HTML4.

En Inglés británico, comillas simples se utilizan como esto:

"Me dijo que 'darle una oportunidad'", dije.

Las citas se presentan en pares. Se puede utilizar:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

que tienen citas anidadas de manera semánticamente correcto, se aplaza la sustitución de los caracteres reales para el motor de renderizado. Esta sustitución puede ser afectada por CSS rules, como:

q { 
    quotes: '"' '"' '<' '>'; 
} 

Un artículo de edad, pero al parecer sigue siendo relevante acerca semánticamente correcta mark-up: The Trouble With EM ’n EN (and Other Shady Characters).

+0

La pregunta era claramente sobre el uso de apóstrofes y no de comillas. ¿Por qué publicaría esto? –

+4

Veo claramente _single quote_ en el título. La pregunta era por qué escaparse de ellos no debería hacerse con _ ' _. Respondí esto porque la compatibilidad con ' no es la única preocupación. –

+0

Las comillas simples también se usan en inglés americano. –

Cuestiones relacionadas