2010-11-09 5 views

Respuesta

80

analizadores SGML (o analizadores XML en el caso de XHTML) pueden manejar — sin tener que procesar la DTD (que no importa a los navegadores, ya que sólo sorber la sopa de etiqueta), mientras que — es más fácil para los seres humanos para leer y escribe en el código fuente

Personalmente, me apegaría a un em-dash literal y me aseguraría de que mi configuración de codificación de caracteres fuera consistente.

1

Podría ser que usar el código numérico es más universal, ya que es una referencia directa a un personaje en la tabla de entidades html, pero supongo que ambos funcionan en todas partes. La primera notación es simplemente más fácil de recordar para muchos personajes.

12

Son exactamente el mismo personaje. Ver: http://en.wikipedia.org/wiki/Dash

Al eliminar los errores del navegador, se mostrarán igual en todos los casos, por lo que la única diferencia sería la legibilidad del código, que apuntaría a —.

O, si está utilizando UTF-8 como juego de caracteres en su documento HTML, puede ingresar el carácter directamente. Eso también mostraría exactamente lo mismo.

+5

Tenga en cuenta que esto solo es cierto para HTML, en XML, '&8212;' siempre funciona, mientras que '—' depende de haber declarado la entidad. – Flimm

2

— :: :: —\u2014

Cuando en representación de la m-guión en una cadena de texto JavaScript para la salida a HTML, tenga en cuenta que estará representada por su valor Unicode. Hay casos en los que los caracteres ampersand ('&') no se resolverán, especialmente ciertos contextos dentro de JSX. En este caso, ni — ni — funcionarán. En su lugar, debe utilizar la secuencia de escape Unicode: \u2014.

Por ejemplo, al aplicar un método render() de texto de salida de una variable de JavaScript:

render() { 
    let text='JSX transcoders will preserve the & character—to ' 
      + 'protect from possible script hacking and cross-site hacks.' 
    return (
    <div>{text}</div> 
    ) 
} 

Esta es la salida:

<div>JSX transcoders will preserve the & character&mdash;to protect from possible script hacking and cross-site hacks.</div> 

En lugar de la & - representación prefijado, se debe utilizar \ u2014:

let text='JSX transcoders will preserve the & character\u2014to '… 
+1

Funciona muy bien con Reaccionar. – Green

-1

De W3 nosotros b sitio Common HTML entities used for typography

Por el bien de la portabilidad, Unicode referencias de entidad debe reservarse para su uso en ciertos documentos para ser escrito en las UTF-8 o UTF-16 juegos de caracteres. En todos los demás casos, se deben usar las referencias alfanuméricas.

Traducción: Si usted está buscando más amplio apoyo, ir con &mdash;

Cuestiones relacionadas