Hola amigos.. estoy tratando de modificar mis url algo más "amigables"
cree mi archivo .htaccess y me funciona bien...
de este tipo de url: articulo.php?pag=1-Mi Primer Artículo
el código apache me entrega: articulo/1/Mi Primer Artículo
el resultado lo encuentro bueno, pero quisiera agregar guiones en los espacios vacíos y que todo quede en minúsculas y sin acentos algo así:
articulo/1/mi-primer-articulo
ahora me han dicho que este código me podría servir, pero no se como implementarlo o adaptarlo... a ver si me echan una mano porfavor.
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;
}
y bueno, la verdad ni idea de como usarlo, ni donde ubicarlo... no se como trabajar con el.. me pueden echar una mano porfavor
Los enlaces de mi código fuente son así..
echo"<p class='p-title'><a href='articulo/$id'>$columna[TITULO]</a></p>";
si se necesita más información, favor solicitarla... gracias!
Yo supongo que es algo así:
<?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;
}
// Más codigo aquí
echo"<p class='p-title'><a href='" . urls_amigables("articulo/$id") . "'>$columna[TITULO]</a></p>";
(aparte de tu pregunta te haré una recomendación)
Te recomendaría encarecidamente utilizar los tags que escriben al flujo de salida directamente.
Yo al menos pienso que es más limpio que estar haciendo echos constantemente
<?php
function urls_amigables()
{
// código
}
// Más código
$nombre = "John Smith";
?>
<h1>Hola Mundo</h1>
<p>Un párrafo de prueba <?= $nombre ?></p>
muchas gracias Jeferi me ha servido, ya esta solucionado, mis url ya están mas limpias... por otra parte, tomare bien en cuenta tu recomendación.!! gracias...