ALT

2011-08-16 10 views
0

のアルファベットFRでのエスケープ文字はどのようにエスケープしますか:é、アルファベットGER:öなど どのようにすべての文字をALTでキーボードから取り除くことができますか?ALT

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

をしかし、私はすべてのアルファベットを知らない: 私は使用することができます。

+4

すべてのエンコーディングにutf-8を使用してください。 –

答えて

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/

1

おそらく簡単に解決策:

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

私はOPがアクセントを削除したいと思う(äáàāąãåâ=> a)、文字を削除しないでください。 – nandhp

3

あなたの入力文字セットを知っている、あなたが削り取っしたい場合ASCIIセットのみに、iconvを使用できます。入力がUTF-8であると仮定します。

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

この例では、出力はaaoです。

iconvは、ASCIIの同等の文字がない文字に直面したときに脆くなることがあることに注意してください(この動作は最近かなり改善されているようですが)。