« Back to blog

PHP: Función para sanitizar un título

Hace bastante tiempo que no escribo en el blog, y espero recuperar un ritmo decente :)
Muchas veces, en php, podemos tener problemas para tener unas direcciones URI limpias, muy beneficiosos para el SEO, debido a los caracteres especiales de castellano en contraste con el estándar de codificación US-ASCII de 7 bits donde no se incluyen caracteres como la ñ o los acentos.
En HTML no hay problema ya que hay traducción de todos ellos, pero en cuanto a las url's es más complicado. Así que si quieres tener unos permalinks limpios al estilo de wordpress, os dejo aquí una función que os lo podrá solicionar fácilmente.


function sanitize( $cadena ) {
return( strtolower( utf8_encode( strtr( trim( $cadena ),
utf8_decode(
' ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ' ),
'-aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr' ) ) ) ) );
}

Su uso es muy sencillo:

$titulo = "Encuentra fácilmente una cabaña rural para las vacaciones";
$tilulo_sano = sanitize( $titulo );
echo( $titulo_sano );

Y nos devolverá el título válido para buscadores.

encuentra-facilmente-una-cabana-rural-para-las-vacaciones

Espero que sea de utilidad.

​