Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/02/2010, 12:46
Avatar de memoadian
memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Urls amigables desde titulo

hola que tal he estado intentadndo esto 3 dias hasta aprendi expresiones regulares (lo cual es muy bueno).
pero no lo logro.
despues de 1 mes de dar mis primeros pasos en php

Me explico.

mi objetivo es este:

cuando escribo una de mis urls que me interesa que sean amigables. ejemplo:

http://misitio.com/articulo.php?url=?d=123456

(esa es una url bastante cercana a las mias "osea son feas")

quiero que aparezca

http://misitio.com/titulo-amigable.php o html

pero llamando al titulo de la página o sea lo que esta entre <title>y</title>

tengo esto que saque de un tutorial (si ya se que me estoy extendiendo )

Código PHP:
Ver original
  1. // La variable del título de la noticia
  2. $urls = "Este es un titulo";
  3.  
  4. // mostramos el titulo editado
  5. echo urls_amigables($urls);
  6.  
  7. // mostramos la url terminada
  8. echo "http://tu.sitio.web/articulo/".$id."/".urls_amigables($url)."/";
  9.  
  10. function urls_amigables($urls) {
  11.  
  12. // Tranformamos todo a minusculas
  13. $urls = strtolower($urls);
  14.  
  15. //Remplazamos caracteres especiales latinos
  16. $find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');
  17. $repl = array('a', 'e', 'i', 'o', 'u', 'n');
  18. $urls = str_replace ($find, $repl, $urls);
  19.  
  20. // Añaadimos los guiones
  21. $find = array(' ', '&', '\r\n', '\n', '+');
  22. $urls = str_replace ($find, '-', $urls);
  23.  
  24. // Eliminamos y Reemplazamos demás caracteres especiales
  25. $find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');
  26. $repl = array('', '-', '');
  27. $urls = preg_replace ($find, $repl, $urls);
  28. return $urls;
  29. }

y después de ese código dice escribir en el htaccess

Código PHP:
Rewriterule ^articulo/(.+)/(.+) articulo.php?id=$1&title=$
esto da como resultado segun lo que dicen que cuando se escriba una url del tipo

http://misitio.com/articulo/loquesea/loquesea

se reescribe colocando la variable $1&title=$2 lo cual no entiendo muy bien ya que no se de donde salen esas variables.

ya tengo el rewrite on del htacces.

aplique eso y no me funcionó por eso

ahora me entran dudas

la variable urls ¿es el titulo de mi web? si es asi deberia llamarla de algun modo, no? como con preg match o algo.

luego cuando le paso la funcion urls amigables y me regresa todo procesado no hace falta algo para que se escriba en el navegador el resultado?

si alguien pudiera despejar mis dudas y hecharme una manita se lo agradecería inifinitamente.