Función útil: Limpiar URL
Fecha: 04-mar-2009 | Autor: Marcelo.
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 ;)
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).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 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).
david
10. ene, 2011
y si la dirección tiene tildes o ñ?
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
Yamil - Marketing en Internet
28. may, 2011
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?
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) ;)
jesus
05. mar, 2012
trim() para los espacios
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… ;)