怎么用ALT逃脱所有的角色

时间:2011-08-16 23:49:23

标签: php jquery html regex

字母FR中的

例如:é和字母GER有:ö等 怎么能在键盘上用ALT清除所有字符? 我可以用:

$addr = strtr($addr, "äåö", "aao");

但我不知道所有的字母表。

3 个答案:

答案 0 :(得分:3)

如果您知道输入字符集,并且只想削减ASCII设置,则可以使用iconv。假设您的输入是UTF-8:

$text = "äåö";
echo iconv('UTF-8', 'ASCII//TRANSLIT', $text);

此示例将输出aao

请注意iconv在面对没有粗略ASCII等效字符的字符时有时会很脆弱(虽然这种行为似乎最近有所改善)。

答案 1 :(得分:2)

我会假设你想要一个给出问题标签的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/

答案 2 :(得分:1)

也许是一个更简单的解决方案:

$output = preg_replace("/[^A-Za-z0-9]/","",$input);