字母FR有例如:é和英文字母GER有:ö等 如何清除所有字符在键盘上的ALT? 我可以使用:如何通过ALT跳过所有的字符
$addr = strtr($addr, "äåö", "aao");
但我不知道所有的字母。
字母FR有例如:é和英文字母GER有:ö等 如何清除所有字符在键盘上的ALT? 我可以使用:如何通过ALT跳过所有的字符
$addr = strtr($addr, "äåö", "aao");
但我不知道所有的字母。
我会假设你想给你的问题标签的PHP答案。这似乎涵盖所有的人,我知道/听说过
$text = "Yôûr téxt wíth àccènts :)";
$search = explode(",","ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u");
$replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u");
$text = str_replace($search, $replace, $text);
来源:http://www.randomsequence.com/articles/removing-accented-utf-8-characters-with-php/
也许一个简单的解决方案:
$output = preg_replace("/[^A-Za-z0-9]/","",$input);
我认为OP希望删除重音符(äáàāąãåâ=> a),而不是删除这些字符。 – nandhp
如果你知道你输入的字符集,你想削减只能到ASCII设置,您可以使用iconv
。假设您的输入是UTF-8:
$text = "äåö";
echo iconv('UTF-8', 'ASCII//TRANSLIT', $text);
此示例将输出aao
。
请注意,iconv
有时会遇到无粗略ASCII等值字符(尽管这种行为似乎近期有所改善)时会变脆。
不!使用utf-8编码所有编码。 – 2011-08-16 23:54:26