PHP – Convertir tildes a códigos HTML

A veces se almacena en la base de datos texto y para evitar problemas con la codificación del mismo, podemos preferir guardar las palabras con tildes usando el código HTML para cada una.

Aquí se puede ver la equivalencia de todos los códigos HTML.

Para realizar estas conversiones, php nos da dos funciones: htmlentities y html_entity_decode.

HTML TEXTO
Códigos HTML para las tildes.
á a
é e
í i
ó o
ú u

En el ejemplo siguiente, odo carácter convertible a código HTML se convertira, incluyendo gracias a ENT_QUOTES todo tipo de comillas y usandose para ello la codificación UTF-8.

 

$texto = htmlentities("ejemplo á é í ó ú ñ", ENT_QUOTES, "UTF-8");

Y a la inversa:

$texto = html_entity_decode("ejemplo ñ", ENT_QUOTES, "UTF-8");

 

Si sólo quieres realizar las conversiones para un pack de caracteres en concreto, como tildes y la ñ (ya sea en mayúsculas o minúsculas), es más conveniente hacerse alguna función propia para ello.

    /**
     * Convierte las tildes de un texto a sus entidades HTML.
     * 
     * @param string $cadena Cadena a modificar.
     * @return string Cadena de texto con codigos html.
     */
	public static function TildesHtml($cadena) 
	{ 
        return str_replace(array("á","é","í","ó","ú","ñ","Á","É","Í","Ó","Ú","Ñ"),
                                         array("á","é","í","ó","ú","ñ",
                                                    "Á","É","Í","Ó","Ú","Ñ"), $cadena);     
	}

Con str_replace se cambian cadenas por otras o como en el ejemplo, arrays por otros.

 

16706 visitas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *