从URL中删除重音和空格

时间:2013-05-12 03:31:23

标签: php urlencode

你好:我试图优化我的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中的拉丁口音和大写字母,我一直在搜索,但我有这个链接无法使用已建立的解决方案。

0 个答案:

没有答案