Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2006, 11:12
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Caracteres especiales y mod-rewrite

hola!!

estoy utilizando un sistema de optimización para mis foros phpBB y bueno funciona perfecto creando direcciones no dinamicas con varios scripts y mod-rewrite, pero hay un pequeño problema:

Si por ejemplo el titulo de un post contiene un acento o un caracter especial lo qeu hace modrewrite es eliminar dicho caracter, por ejemplo:

si el titulo es:
La última noche

el link lo deja asi:
la-ltima-noche-vt365.php

es decir elimina la letra ù por que lleva acento, nomal ya uqe las direcciones web no soportan acentos ni caracteres especiales

en definitiva, ¿¿¿puedo conseguir que muestre las palabras sin acentos aunque esos acentos esten en el titulo???

el script que sustituye las direcciones en el header.php es este:
Código PHP:
<?
ob_start
(); 
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
}
¿como hago para que sustituya los caracteres especiales por sus homologos no especiales? es decir palabras acentuadas por palabras sin acentos...

Basicamente es para mejorar el posicionamiento e indexación en google y otros buscadores.

saludos

Última edición por MindPaniC; 10/03/2006 a las 18:37