Tengo un problema, estoy simplificando una url para que se vea amigable, inicialmente lo traté con
urlencode() para eliminar los %20 y apareció un "+" en su lugar así:
[php]<a href="actividad.php?nombre=<?php echo urlencode($row->nombre) ?>/php]
Luego claro, en los títulos, algunos contienen mayúsculas y tildes, en Chrome y Mozzilla las interpreta en la url sin problema en ie si sale %C3%, por supuesto salen las mayúsculas también, posterior a eso busqué el problema en google para cambiar el "+" por "-" y colocar todo en minúsculas de paso, encontré algo que solucionó parcialmente el problema y fue esto:
[php]function elimina_acentos($texto){ //www.webenphp.com
$texto=utf8_decode($texto);
$con_acento = utf8_decode("ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ");
$sin_acento = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$texto= strtr($texto, $con_acento, $sin_acento);
$texto = preg_replace("/[^A-Za-z0-9 _]/","",$texto);
//si queremos pasar todos los carácteres a minusculas
$texto = strtolower(trim ($texto));
//si queremos sustituir el espacio en blanco por -
$texto = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $texto);
return $texto;
}
<a href="actividad.php?nombre=<?php echo urlencode(elimina_acentos($row->nombre)) ?>
[/php]
Claro, ya en este momento muestra la url tal como la deseo, pero el resultado de la url solicitada ya no es identificada en la base de datos. Quisiera un poco de orientación, veo que aquí las url son perfectas y no se pierden los caracteres especiales en los títulos. Muchas gracias!