PHP – Limpiar una cadena de caracteres

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
?>

Artículo original escrito por jak58. 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 (https://es.ccm.net/) como tu fuente de información.
Algunas funciones útiles en PHP
PHP 5 – Utilizar una url externa con la función include