你好:我试图优化我的Urls,使用urlencode()它可以正常使用" +"而不是空格中的%20,但有些名称有大写字母和拉丁字符,当然它们不是任何名字,然后我尝试使用此函数仅使用小写并替换网址中的拉丁字符:
function delete_accent($texto){
$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);
//all to lowercase
$texto = strtolower(trim ($texto));
//replacing %20 to -
$texto = preg_replace( array("`[^a-z0-9]`i","`[-]+`") , "-", $texto);
return $texto;
}
<a href="actividad.php?nombre=<?php echo urlencode(delete_accent($row->nombre)) ?>">¡ VER MÁS !</a>
该链接不起作用,导致actividad.php未从DB获取有效名称。如何消除URL中的拉丁口音和大写字母,我一直在搜索,但我有这个链接无法使用已建立的解决方案。