Función útil: Limpiar URL

Función útil: Limpiar URL

Fecha: 04-Mar-2009 | Autor: .
Guardado en: Funciones

Pense que sería una buena idea recopilar Funciones PHP, programadas por mi o por terceros (por supuesto, se especificará el autor en cada caso siempre que cuente con dicha información), que pueden servirnos a más de uno a la hora de ahorrar algún tiempo en nuestros desarrollos…

Además tenía ganas de realizar esta recopilación para tener de alguna forma organizadas mis funciones y todas aquellas que alguna vez utilizo en mis scripts ;)


¿Por qué este anuncio?

Hoy veremos una función que puede ser de utilidad a la hora de convertir un texto, nombre o título a una cadena sin tildes, espacios ni símbolos (por ejemplo: al intentar convertir el título “Sección de Noticias” en “seccion_de_noticias” para pasar como parámetro en nuestra URL).

function limpiarURL($str) {
	//Quitar tildes y ñ
	$tildes = array('á','é','í','ó','ú','ñ','Á','É','Í','Ó','Ú','Ñ');
	$vocales = array('a','e','i','o','u','n','A','E','I','O','U','N');
	$str = str_replace($tildes,$vocales,$str);
 
	//Quitar símbolos
	$simbolos = array("=","¿","?","¡","!","'","%","$","€","(",")","[","]","{","}","*","+","·",".","< ",">");
	$i = 0;
	while($simbolos[$i]){
	$str = str_replace($simbolos[$i], "", $str);
	$i++;
	}
 
	//Quitar espacios
	$str = str_replace(" ","_",$str);
 
	//Pasar a minúsculas
	$str = strtolower($str);
 
	return $str;
}

Por supuesto puedes agregar símbolos al array $simbolos[], así como cambiar el caractér que remplaza al espacio (definido como sub-guión: _, aunque podrías querer que fuera el guión alto: -, u otro de tu preferencia).


Si te gustó, comparte:
Y si fue de ayuda, puedes comprarme un café:
...ó la cena si quieres! ;)

Etiquetado como: , ,


Gravatar

Marcelo


Desarrollador web, trabajando desde Montevideo, Uruguay para todo el mundo. Me especializo en Diseño web, Maquetación HTML5 & CSS3, jQuery y Programación PHP & MySQL, e intento aprender un poco más cada día.

8 comentarios, participa!

  1. david

    10. Ene, 2011

    y si la dirección tiene tildes o ñ?

  2. Jesus

    07. Mar, 2011

    Y eso como lo implementas en los enlaces? No lo entiendo, es decir, entiendo la función pero no como la implementas a los enlaces

  3. Me sumo a las preguntas, me gustaria saber, en mi caso, como puedo implementar eso para las URLs generadas por WordPress? Donde hay que colocar el código para que limpie los caracteres invalidos?

  4. Marcelo

    30. May, 2011

    @david, justamente lo que hace la función es quitar los tildes, eñes y tildes a cualquier cadena de texto que le pases como parámetro.

    @Jesus y @Yamil, en realidad no es que lo implementes a los enlaces (ni a wordpress), la idea es utilizarla al guardar datos, por ejemplo al guardar un título y querer generar automáticamente (a partir de dicho título) una url (que al ser url no debe contener ni tildes ni símbolos) ;)

  5. jesus

    05. Mar, 2012

    trim() para los espacios

  6. Marcelo

    06. Mar, 2012

    Sí, estaría bien hacer un trim() también… aunque no quita todos los espacios sino solamente los que hay por delante y por detrás de la cadena… ;)

  7. jorge

    06. Ago, 2012

    genial muchas gracias, y donde meto eso? tengo un script

  8. Joefay

    02. Jul, 2014

    Gracias me funciono de maravilla, probe varias funciones y esta me fue genial.

Deja tu opinión