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 ;)

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).

Si te gustó este post, compártelo:
  • Meneame
  • Twitter
  • Facebook
  • Google Bookmarks
  • Live
  • del.icio.us
  • BarraPunto
  • Technorati
  • Bitacoras.com
Me gusta! A 1 lectores les ha gustado esta entrada.
Loading ... Loading ...

Etiquetado como: , ,

Gravatar

Marcelo Ferreiro


Desarrollador web: me especializo en Diseño web, Maquetación xHTML & CSS y Programación PHP & MySQL, e intento aprender un poco más cada día.

6 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… ;)

Deja tu opinión