Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2010, 04:51
jordi45
 
Fecha de Ingreso: octubre-2008
Mensajes: 168
Antigüedad: 16 años
Puntos: 2
UTF-8 url amigables, problema

Hola a todos tengo el siguiente problema tengo un formulario para insertar datos con su correspondiente campo para hacer la url amigable sin acentos, espacios, mayúsculas etc. la web está en UTF-8 y también la base de datos

Pero no me hace la función cuando hay acentos, simplemente me pone un guión como si fuera un espacio en blanco.
La función que tengo es esta

Código:
function getUrlAmigable($s){

    $s = strtolower($s);
    $s = ereg_replace("[áàâãäª@]","a",$s);
    $s = ereg_replace("[éèêë]","e",$s);
    $s = ereg_replace("[íìîï]","i",$s);
    $s = ereg_replace("[óòôõºö]","o",$s);
    $s = ereg_replace("[úùûü]","u",$s);
    $s = ereg_replace("[ç]","c",$s);
    $s = ereg_replace("[ñ]","n",$s);
    $s = preg_replace( "/[^a-zA-Z0-9\-]/", "-", $s );
    $s = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $s);

    return trim($s, '-');
}

if(isset($_GET['titulo'])){
    $url = getUrlAmigable(utf8_decode($_GET['titulo']));
    echo $url;exit;
}
En ISO-8859-1 no da problemas pero el resto de la web se ve mal.