そのまんま!

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5)

mb_encode_numericentity --  文字を HTML 数値エンティティにエンコードする

説明

string mb_encode_numericentity ( string str, array convmap [, string encoding] )

mb_encode_numericentity() は、 strの中で指定した文字コードをHTML数値 エンティティから文字コードに変換します。この関数は変換後の文字列を 返します。

convmap は、変換するコード領域を指定する配列 です。

encoding は文字エンコーディングです。

例 1. convmap の例

$convmap = array (
int start_code1, int end_code1, int offset1, int mask1,
int start_code2, int end_code2, int offset2, int mask2,
........
int start_codeN, int end_codeN, int offsetN, int maskN );
// start_codeN および end_codeN に Unicode 値を指定
// 値に offsetN を追加、マスク maskN を指定してビット毎の'AND'をとり、
// 数値エンティティに値を変換します。

例 2. mb_encode_numericentity() の例

<?php
/* ISO-8859-1 の左面をHTML数値エンティティに変換 */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* ブロック 95-104 にある SJIS-win コードのユーザ定義領域を
   数値エンティティに変換 */
$convmap = array(
       
0xe000, 0xe03e, 0x1040, 0xffff,
       
0xe03f, 0xe0bb, 0x1041, 0xffff,
       
0xe0bc, 0xe0fa, 0x1084, 0xffff,
       
0xe0fb, 0xe177, 0x1085, 0xffff,
       
0xe178, 0xe1b6, 0x10c8, 0xffff,
       
0xe1b7, 0xe233, 0x10c9, 0xffff,
       
0xe234, 0xe272, 0x110c, 0xffff,
       
0xe273, 0xe2ef, 0x110d, 0xffff,
       
0xe2f0, 0xe32e, 0x1150, 0xffff,
       
0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

mb_decode_numericentity() も参照ください。