0

你好:我正在尝试优化我的网址,使用 urlencode() 在空格中使用“+”而不是 %20 可以正常工作,但是有些名字有大写和拉丁字符,当然它们不是很友好,那么我已经尝试使用此函数仅使用小写字母并替换 url 中的拉丁字符:

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 没有从数据库中获取有效名称。如何从 URL 中消除拉丁重音和大写字母,我一直在搜索,但我的这个链接无法使用所建立的解决方案工作。

4

0 回答 0