Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/09/2010, 08:07
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 3 meses
Puntos: 331
Respuesta: UTF-8 url amigables, problema

Sigo pensando que el problema está en el decode inicial:

Código PHP:
<?php

ini_set
("display_errors"0);

    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"-");
}

    echo 
"<h3>Cadena: áé89íóú´__;<>//\"</h3>";
    echo 
"<h3>Decode: ".utf8_decode("áé89íóú´__;<>//\"")."</h3>";
    echo 
"<h3>Tu funcion sin decode: ".getUrlAmigable("áé89íóú´__;<>//\"")."</h3>";
    echo 
"<h3>Tu funcion con decode: ".getUrlAmigable(utf8_decode("áé89íóú´__;<>//\""))."</h3>";
    
?>
Devuelve:

Cadena: áé89íóú´__;<>//"
Decode: ?9?´__;<>//"
Tu funcion sin decode: ae89iou
Tu funcion con decode: 9


Además recuerda que ereg() está desaconsejada, a ver si ahora marcha, saludos.