mb_encode_numericentity
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_encode_numericentity — 文字を HTML 数値エンティティにエンコードする
説明
mb_encode_numericentity
( string $str
, array $convmap
[, string $encoding
= mb_internal_encoding()
[, bool $is_hex
= false
]] ) : string
str
の中で指定した文字コードを
文字コードから HTML 数値エンティティに変換します。
パラメータ
str
- エンコードする文字列。
convmap
convmap
は、変換するコード領域を指定する配列です。encoding
encoding
パラメータには文字エンコーディングを指定します。省略した場合は、 内部文字エンコーディングを使用します。is_hex
- 返されたエンティティのリファレンスが16進記法であるべきかどうか (
false
の場合、10進記法です)
返り値
変換後の文字列を返します。
例
例1 convmap
の例
<?php$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");?>