PHP – Limpiar una cadena de caracteres

Septiembre 2017

Aquí veremos una función en PHP que te puede ser muy útil, sobretodo si utilizas el [ URL] Rewriting.

Esta función permite transformar los caracteres de cualquier cadena de caracteres en una cadena sin acentos, quitando los caracteres especiales y reemplazando los espacion con guiones. Por ejemplo: “Café negro” dará “cafe-negro”.

Esta es la función:
function string2url($cadena) {
	$cadena = trim($cadena);
	$cadena = strtr($cadena,
"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",
"aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
	$cadena = strtr($cadena,"ABCDEFGHIJKLMNOPQRSTUVWXYZ","abcdefghijklmnopqrstuvwxyz");
	$cadena = preg_replace('#([^.a-z0-9]+)#i', '-', $cadena);
        $cadena = preg_replace('#-{2,}#','-',$cadena);
        $cadena = preg_replace('#-$#','',$cadena);
        $cadena = preg_replace('#^-#','',$cadena);
	return $cadena;
}


Ejemplo:

<?php
echo string2url('Kioskea, es el mejor sitio web!');
// Dará: ccm-es-el-mejor-sitio-web
?>

Consulta también

Artículo original escrito por . Traducido por Carlos-vialfa. Última actualización: 16 de octubre de 2009 a las 19:26 por Carlos-vialfa.
El documento «PHP – Limpiar una cadena de caracteres» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.