Tutorial crear url amigable con php
El objetivo de esta función es tomar el título de la noticia y transformarlo en una frase asequible a los buscadores. Con esta función php conseguimos generar una url amigable a partir de un título:
<?php function urls_amigables($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 demás caracteres especiales $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); $repl = array('', '-', ''); $url = preg_replace ($find, $repl, $url); return $url; } ?>El segundo paso es cambiar las urls con Mod Rewrite de Apache:
RewriteEngine on RewriteRule ^topic/(.+) prueba.php?code=$1El tercer paso es cambiar los enlaces:
<a href="topic/<?php echo $rowC['seo'] ?>">Titulo</a>
5
Puntos
Puntos
4225
Visitas
Visitas
2
Resp
Resp
Por alber hace 113 meses
Administrador
Respuesta #1
Hola alber, tengo una duda, como es que se usa esa función, lo que quiero decir es que dónde se usa, es para insertar datos a la BD?
5
Puntos
Puntos
Por kanikase hace 112 meses
Principiante
Respuesta #2
ejemplo:
kanikase dijo:Hola, por ejemplo donde tienes la inserción a la base de datos le dices que te inserte en la columna seo lo mismo que en la de titulo pero formateada con la función
Hola alber, tengo una duda, como es que se usa esa función, lo que quiero decir es que dónde se usa, es para insertar datos a la BD?
ejemplo:
<?php function urls_amigables($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 demás caracteres especiales $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/'); $repl = array('', '-', ''); $url = preg_replace ($find, $repl, $url); return $url; } //Insertar registro $insertSQL = sprintf("INSERT INTO posts (titulo, seo) VALUES (%s, %s)", GetSQLValueString($_POST['titulo'], "text"), //En esta linea convertimos el titulo en url amigable GetSQLValueString(urls_amigables($_POST['titulo']), "text")); mysql_select_db($database_conexion, $conexion); $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error()); ?>
5
Puntos
Puntos
Por alber hace 112 meses
Administrador