[PHP-users 21344]mb_decode_numericentityは16進数に対応していないですか?

Matsuoka Toshimasa matsuoka @ shanghai-q.co.jp
2004年 4月 19日 (月) 21:27:58 JST


こんばんは。松岡と申します。

mb_decode_numericentityについて質問があります。

10進数のHTML数値エンティティ例えば"ぬるぽ"は
mb_decode_numericentityで変換されますが、
16進数のHTML数値エンティティ例えば"ぬるぽ"は
mb_decode_numericentityで変換できませんでした。

mb_decode_numericentityは16進数に対応していないのでしょうか?

ご存知の方がいらっしゃいましたら、ご教授くださいませ。

■テスト環境

WindowsXP
Apache1.3.28(Win32)
PHP Version 4.3.4 (mod_php4)

■テストしたプログラム

function foo($s)
{
$s = mb_convert_encoding($s, "UTF-16", "SHIFT-JIS");
$s = mb_decode_numericentity($s, array(0, 0xffff, 0, 0xffff), "UTF-16");
return mb_convert_encoding($s, "SHIFT-JIS", "UTF-16");
}
echo(foo("ぬるぽ")."<BR>\n");
echo(foo("&#12396;&#12427;&#12413;")."<BR>\n");
echo(foo("&#x306c;&#x308b;&#x307d;")."<BR>\n");

■出力

ぬるぽ<BR>
ぬるぽ<BR>
&#x306c;&#x308b;&#x307d;<BR>



PHP-users メーリングリストの案内