出于某种原因(这是一个很长的故事)我需要用他们的’普通’对应物来改变口音.
我这样做:
$array = array(
'ò' => 'o',
'ó' => 'o',
'à' => 'a',
'è' => 'e',
'é' => 'e',
'ù' => 'u',
);
return str_replace(array_keys($array), array_values($array), $string);
但它不起作用(正常的字母就像一个魅力)我认为这是一个编码问题,还有另一种方法吗?我怎样才能解决这个问题?
谢谢.
解决方法:
从URL Friendly Username in PHP?起略有修改
function Slug($string)
{
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8'))), ' '));
}
$user = 'Alix Axel';
echo Slug($user); // alix axel
$user = 'Álix Ãxel';
echo Slug($user); // alix axel
$user = 'Álix----_Ãxel!?!?';
echo Slug($user); // alix axel