2011-05-06 14 views
6

Pruebe usted mismo:¿Por qué no se decodificará esto a la entidad html?

echo(html_entity_decode("…")); 

Se hace eco … en lugar de como debería.

¿Por qué no se decodifica y cómo puedo hacerlo?

+0

um que no va a funcionar así – Ibu

+1

@Ibrahim Diallo Soy consciente, de lo contrario no habría publicado esto. ¿Cómo puedo hacer que funcione? – Cyclone

Respuesta

12

Porque el conjunto de caracteres de destino ISO-8859-1 predeterminado no contiene el carácter "...". Vas a tener que dirigen explícitamente a UTF-8:

html_entity_decode('…', ENT_QUOTES, 'UTF-8') 

Tenga en cuenta que esto cambió en PHP 5.3.3, donde UTF-8 se convirtió en el valor por defecto.

+1

Su código genera: 'â € |' que, aunque se ve bien, no es una elipsis. – Cyclone

+1

@ Cyclone Entonces su documento no se interpreta como UTF-8. O bien, elija como objetivo el conjunto de caracteres al que está enviando su documento o arregle cómo se sirve su documento. – deceze

+0

'header (" Content-Type: text/html; charset = UTF-8 ");' hizo el truco para eso, por cierto. ¡Gracias! – Cyclone

Cuestiones relacionadas