【发布时间】:2012-10-11 06:18:46
【问题描述】:
我有一个名字“Göran”,我希望将其转换为“Goran”,这意味着我需要unaccent特定的词。但是我尝试过的似乎并没有不重音所有的单词。
这是我用来 Unaccent 的代码:
private function Unaccent($string)
{
return preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml|caron);~i', '$1', htmlentities($string, ENT_COMPAT, 'UTF-8'));
}
不工作的地方(不正确的匹配):我的意思是它没有在右手边给出预期的结果,
JÃŒrgen => Juergen
InÚs => Ines
工作地点(正确匹配):
Göran => Goran
Jørgen Ole => Jorgen
Jérôme => Jerome
可能是什么原因?怎么修?你有更好的方法来处理所有的情况吗?
【问题讨论】:
-
在网上找到了这个,有用吗? snipplr.com/view/65596/unaccent-a-string
-
停下! Jérôme 不是一个名字,它的格式很糟糕。杰罗姆是正确的。
标签: php character-encoding diacritics