[PHP-users 34593] Re: 変換不能文字の数値エンティティ化
clicker @ fooo.cjb.net
clicker @ fooo.cjb.net
2009年 5月 27日 (水) 23:10:48 JST
>柳本です。
>mb_substitute_character("long");
>これとpreg_replace()あたりでどうですか?
ありがとうございます。
mb_substitute_characterで、まさかそんな指定ができるとは。
リファレンスをよく読んでませんでした、すいません。
しかしこれでかなりいいところまで辿り着きました。
$subChar = mb_substitute_character();
mb_substitute_character("long");
$text = mb_convert_encoding($text, 'SJIS-win', 'UTF-8');
$text = preg_replace('/U\+([0-9A-F]{1,5})/', '&#x$1;', $text);
mb_substitute_character($subChar);
[0-9A-F]が後に続かないパターンならこれでOKのようです。
例えばU+118;のように終端があれば、きれいに置換できそうなんですが…
---
武山
PHP-users メーリングリストの案内