2012-12-30 19 views

答えて

7
$str = "É"; //É 

$res = mb_strtolower(html_entity_decode($str,ENT_COMPAT|ENT_HTML401,'UTF-8'),'UTF-8'); 

echo $res; 
+0

'警告:html_entity_decode()は、パラメータ2が長すぎることを期待しています。行4の/ F6TSAに与えられた文字列' http://3v4l.org/F6TSA –

+0

PHP 5.4以降で動作し、5.0-5.3 '定義されていない定数ENT_HTML401'の使用):http://3v4l.org/uWbbu –

+0

よく、私は最初に符号化引数を間違って配置しました –

1

進数と32を追加し、hexitに戻って変換することhexitに変換します。


またはmbstringを使用して:

$res = mb_strtolower(mb_convert_encoding($str, 'UTF-8', 'HTML-ENTITIES'), 'UTF-8') 
+0

大文字から小文字にするには32を追加します。 – irrelephant

+0

ASCII専用では機能しませんか? –

+0

@irrelephant:はい、ありがとうございます。 –

0

私のサーバーには、mbstringエクステンションがインストールされていません。より良いクロスサーバソリューションのために、代わりにこれを使用する必要があります:

echo htmlentities(strtoupper(html_entity_decode($str))); 
関連する問題