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