のアルファベット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を使用してください。 –