Comunidad de diseño web y desarrollo en internet online

Url sin acentos ni ñ

Citar            
MensajeEscrito el 12 May 2013 02:56 am
Buenas gente de Cristalab!

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!

Por jeanramirez

11 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Jun 2013 10:22 am
Buenas tardes,

yo estoy usando una función sacada de aquí:

http://cubiq.org/the-perfect-php-clean-url-generator

Espero que te sirva

Saludos

Por dvpareja

Claber

164 de clabLevel

2 tutoriales

Genero:Masculino  

Programador en Grafitto

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.