函数转换所有其他字符,只是'ø'不是UTF-8字符,所有其他字符,如“Ч,Č,Ć,Đ,Š,Ž,Ђ,Ж,Љ”等正常转换为ASCII ...
这是我使用的功能:
function toAscii($str, $replace=array(), $delimiter='-') {
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/()_|+ -]+/", $delimiter, $clean);
return $clean;
}
我需要它以ascii为url。
答案 0 :(得分:0)
iconv"音译为ascii"功能不可靠。从任意unicode代码点到ascii都没有任何通用音译或音译。没有unicode标准说明如何做(尽管有一个草稿,它被放弃为不成功)。所以,无论如何,没有可靠的方法来做到这一点,或者iconv功能不是一个。它是怎么回事。
正如其他人所评论的那样,有一种标准方法可以将unicode放入URL中。尝试将任意unicode代码点音译为ascii不太可能是解决问题的正确方法;即使是正在发生的音译,你也可能失去意义。