Tema: URL amigable
Ver Mensaje Individual
  #14 (permalink)  
Antiguo 27/03/2006, 17:53
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
vamos a ver yo tengo esta función para transformar las direcciones dinamicas en estaticas amigables, en php por supuesto.

es esta:
Código PHP:
<?php function make_url_friendly($url) 
{ 
  
$url = strtolower($url); 
  
$find = array(' ', 
                
'&', 
                
'\r\n', 
                
'\n', 
                
'+'); 
  
$url = str_replace ($find, '-', $url); 
  
$find = array('/[^a-z0-9\-<>]/', 
                
'/[\-]+/', 
                
'/<[^>]*>/'); 
  
$repl = array('', 
                
'-', 
                
''); 
  
$url =  preg_replace ($find, $repl, $url); 
  return 
$url; 
} 
function 
rewrite_urls($content) 
{ 
  function 
if_query($amp) 
  { 
    if(
$amp != '') 
    { 
      return 
'?'; 
    } 
  } 
  
$url_in = array('/(?<!\/)viewforum.php\?f=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)<\/a>/e', 
                  
'/(?<!\/)viewtopic.php\?t=([0-9]+)((&)|(&)){0,1}([^>]+>)(.*?)<\/a>/e'); 
  
$url_out = array("make_url_friendly('\\6') . '-vf\\1.php' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'", 
                   
"make_url_friendly('\\6') . '-vt\\1.php' . if_query('\\2') . stripslashes('\\5\\6') . '</a>'"); 
  
$content = preg_replace($url_in, $url_out, $content); 
  return 
$content; 
} 
?>
mmmm esto se complementa con unas sentencias en el htacces para el modrewrite....

como hay varios str_replace ya usados.... añado esas sentencias al str_replace en los arrays de abajo?? como iria el orden sin alterar la funcionalidad

me pierdo un poco con este tema.