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
4133
Visitas
Visitas
2
Resp
Resp
Por alber hace 11 años
Admin
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 11 años
Novice
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 11 años
Admin