Código PHP para generar o crear una URL amigable para buscadores como Google, Bing o Yahoo - Tutoriales y Videotutoriales en www.vertutoriales.com
Diseño de páginas web en Córdoba. Visitanos! Taller de Chapa y Pintura en Córdoba. Hnos Troncha Cartuchos reciclados en Córdoba Joyería y Platería en Córdoba - La Joya de Plata ForoHTML5 canvas Comprar este espacio por 5/mes Recetas de cocina rica y sana Comprar este espacio por 5/mes

Código PHP para generar o crear una URL amigable para buscadores como Google, Bing o Yahoo

Bienvenidos a Ver Tutoriales, en esta ocasión os traigo una función que encontré por internet (siento no poder recordar la fuente), es muy sencilla, y sirve para cambiar todas las letras no funcionales para una url, como son los acentos, la ñ, y todos los caracteres especiales.

De manera que cambiará las á por a las é por e y así con todas las letras. Pongamos el código y lo vereis más claro:

<?
function urlamigable($url) {

// Tranformamos todo a minusculas

$url = strtolower($url);

//Rememplazamos caracteres especiales latinos

$find = array(‘á’, ‘é’, ‘í’, ‘ó’, ‘ú’, ‘ñ’);

$repl = array(‘a’, ‘e’, ‘i’, ‘o’, ‘u’, ‘n’);

$url = str_replace ($find, $repl, $url);

// Añadimos los guiones

$find = array(‘ ‘, ‘&’, ‘\r\n’, ‘\n’, ‘+’);
$url = str_replace ($find, ‘-’, $url);

// Eliminamos y Reemplazamos el resto de caracteres especiales

$find = array(‘/[^a-z0-9\-<>]/’, ‘/[\-]+/’, ‘/<[^>]*>/’);

$repl = array(”, ‘-’, ”);

$url = preg_replace ($find, $repl, $url);

return $url;

}
?>

El código creo que es bastante simple y está bien comentado. Lo único que debemos de hacer es llamar a la función urlamigable que recibe el valor que ha de ser la url a transformar, y nos devolverá la url con los caracteres ya cambiados y listos para indexarse :)

Más adelante os pondré como generar un sitemap.xml para vuestra web, atacando la base de datos de mysql y utilizaremos de una manera un poco chorra esta función para que nos indexen más rapidamente los buscadores Google, Bing y Yahoo entre otros.

Pues nada más, espero que os sirva. Se puede comentar :P

Más video tutoriales para que aprendas...

4 Respuestas

  1. Curioso

    noviembre 2nd, 2010 a 6:59 pm

    1

    te falta el httacess

  2. VideoTutoriales

    noviembre 3rd, 2010 a 12:48 am

    2

    Buenas Curioso,

    El httaccess es para indicarle a apache como ha de gestionarse siguiendo unos patrones, en el caso que comentas es con el Rewriterule para asignarle la forma de recoger valores por la url. Pero no es lo que quería exponer, ya que necesitaría un artículo completo para explicar el Rewrite.

    Si quieres puedes colaborar :) . De todas maneras lo tomaré en cuenta y si tengo esta semana un rato lo miraré para crear una url sencilla con un par de parámetros.

    Un saludo!

  3. Leon

    agosto 16th, 2011 a 3:54 am

    3

    Hola probé su función y este es el resultado.

    con_guion($url)// $url=Mi primer con Ñandú

    devuelve mi-primer-con-and

    cuando deberia devolver mi-primer-con-nandu

    creo que algo falla en la función.

  4. VideoTutoriales

    agosto 16th, 2011 a 11:32 am

    4

    // Esta función devuelve un valor sin acentos ni simbolos raros para utilizarse
    // en las urls amigables
    function urla($url) {

    // Tranformamos todo a minusculas
    $url = strtolower($url);

    //Rememplazamos caracteres especiales latinos
    $find = array(‘á’, ‘é’, ‘í’, ‘ó’, ‘ú’, ‘ñ’);
    $repl = array(‘a’, ‘e’, ‘i’, ‘o’, ‘u’, ‘n’);
    $url = str_replace ($find, $repl, $url);

    // Añaadimos los guiones
    $find = array(‘ ‘, ‘&’, ‘\r\n’, ‘\n’, ‘+’);
    $url = str_replace ($find, ‘-’, $url);

    // Eliminamos y Reemplazamos demás caracteres especiales
    $find = array(‘/[^a-z0-9\-]/’, ‘/[\-]+/’, ‘/]*>/’);
    $repl = array(”, ‘-’, ”);
    $url = preg_replace ($find, $repl, $url);
    return $url;

    }

    Revisa esta función, está completa y en producción


Insertar al RSS los comentarios de esta entrada

Escribe tu comentario