elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  sustituir espacios vacios en url
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: sustituir espacios vacios en url  (Leído 3,113 veces)
Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
sustituir espacios vacios en url
« en: 7 Septiembre 2016, 04:03 am »

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.

Código
  1. function urls_amigables($url) {
  2. // Tranformamos todo a minusculas
  3. $url = strtolower($url);
  4. //Rememplazamos caracteres especiales latinos
  5. $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
  6. $repl = array('a', 'e', 'i', 'o', 'u', 'n');
  7. $url = str_replace ($find, $repl, $url);
  8. // Añadimos los guiones
  9. $find = array(' ', '&', '\r\n', '\n', '+');
  10. $url = str_replace ($find, '-', $url);
  11. // Eliminamos y Reemplazamos demás caracteres especiales
  12. $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
  13. $repl = array('', '-', '');
  14. $url = preg_replace ($find, $repl, $url);
  15. return $url;
  16. }

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í..

Código
  1. echo"<p class='p-title'><a href='articulo/$id'>$columna[TITULO]</a></p>";

si se necesita más información, favor solicitarla... gracias!



En línea

Jeferi


Desconectado Desconectado

Mensajes: 886



Ver Perfil WWW
Re: sustituir espacios vacios en url
« Respuesta #1 en: 7 Septiembre 2016, 15:36 pm »

Yo supongo que es algo así:

Código
  1.  
  2. <?php
  3.  
  4. function urls_amigables($url) {
  5. // Tranformamos todo a minusculas
  6. $url = strtolower($url);
  7. //Rememplazamos caracteres especiales latinos
  8. $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
  9. $repl = array('a', 'e', 'i', 'o', 'u', 'n');
  10. $url = str_replace ($find, $repl, $url);
  11. // Añadimos los guiones
  12. $find = array(' ', '&', '\r\n', '\n', '+');
  13. $url = str_replace ($find, '-', $url);
  14. // Eliminamos y Reemplazamos demás caracteres especiales
  15. $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
  16. $repl = array('', '-', '');
  17. $url = preg_replace ($find, $repl, $url);
  18. return $url;
  19. }
  20.  
  21. // Más codigo aquí
  22.  
  23. echo"<p class='p-title'><a href='" . urls_amigables("articulo/$id") . "'>$columna[TITULO]</a></p>";
  24.  
  25.  



(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

Código
  1. <?php
  2.  
  3. function urls_amigables()
  4. {
  5.  // código
  6. }
  7.  
  8. // Más código
  9.  
  10. $nombre = "John Smith";
  11.  
  12. ?>
  13.  
  14. <h1>Hola Mundo</h1>
  15.  
  16. <p>Un párrafo de prueba <?= $nombre ?></p>
  17.  
  18.  


« Última modificación: 7 Septiembre 2016, 15:39 pm por AnonymousUser » En línea

Marciano_79

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: sustituir espacios vacios en url
« Respuesta #2 en: 7 Septiembre 2016, 17:41 pm »

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...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Inyectando codigo en espacios vacios de programas
Programación Visual Basic
Hendrix 7 3,537 Último mensaje 7 Mayo 2006, 10:30 am
por Eternal Idol
Ayuda con links vacios
Desarrollo Web
mark182 2 2,885 Último mensaje 6 Enero 2011, 03:02 am
por mark182
¿Cómo validar espacios vacíos en C++?
Programación C/C++
Juancho25 6 20,253 Último mensaje 6 Mayo 2013, 15:14 pm
por rir3760
Como puedo eliminar espacios vacios en un char array?
Programación C/C++
saintmauricioxd 4 6,605 Último mensaje 11 Octubre 2015, 11:20 am
por ivancea96
[Pregunta]: No enviar espacios vacíos
Desarrollo Web
Leguim 3 2,466 Último mensaje 26 Marzo 2019, 04:59 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines