Programación Avanzada

Crear url a partir de un texto con PHP

por tryke en Dic.17, 2008, dentro PHP

En algunas ocasiones puede interesarnos generar urls dinamicamente a partir de un título.

Esta técnica se utiliza mucho por temas de posicionamiento en buscadores. Yo no he sabido encontrar ninguna función en PHP que te quite los acentos para poder generar una url a partir de un texto. Asi que me cree mi propia solución para este problema.

La idea es muy simple, creamos una pequeña función que mediante expresiones regulares sustituya los caracteres con acentos por el caracter que más se le asemeja.

función para quitar acentos

  1. <?php
  2.  static public function fsPath($texto) {
  3.   $s = trim($texto);
  4.   $s = strtolower($s);
  5.   $s = ereg_replace("[ ]+","-",$s);
  6.   $s = ereg_replace("ç","c",$s);
  7.   $s = ereg_replace("ñ","n",$s);
  8.   $s = ereg_replace("á|à|â|ã|ä|â|ª","a",$s);
  9.   $s = ereg_replace("í|ì|î|ï","i",$s);
  10.   $s = ereg_replace("é|è|ê|ë","e",$s);
  11.   $s = ereg_replace("ó|ò|ô|õ|ö|º","o",$s);
  12.   $s = ereg_replace("ú|ù|û|ü","u",$s);
  13.   $s = ereg_replace("[^a-z0-9_-]",'',$s);
  14.   return substr($s, 0, 40);
  15.  }
  16. ?>

Por último se corta el texto para que tenga un máximo de 40 caracteres para evitar que salgan URLs demasiado largas.

ejemplo

  1. <?php
  2. $titulo = "Casa en cataluña";
  3. $url = fsPath($titulo) . ".html";
  4. echo $url; //casa-en-cataluna.html
  5. ?>
:acentos, PHP, url
No hay comentarios para enta entrada...

Responder

Necesitas estar loginado para hacer un comentario.

¿Buscas Algo?

Usa este formulario para buscar en el blog:

¿No encuentras lo que estas buscado? Si quieres borrar un comentario de un post contacta con nosotros, podemos ayudarte!

¡Visita nuestros amigos!

Listado de webs recomendadas...

Archivos

Todas las entradas, cronologicamente...