mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

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

説明

mb_encode_numericentity(
    string $string,
    array $map,
    ?string $encoding = null,
    bool $hex = false
): string

stringの中で指定した文字コードを 文字コードから HTML 数値エンティティに変換します。

パラメータ

string

エンコードする文字列。

map

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

encoding

encoding パラメータには文字エンコーディングを指定します。省略した場合、もしくは null の場合は、 内部文字エンコーディングを使用します。

hex

返されたエンティティのリファレンスが16進記法であるべきかどうか (false の場合、10進記法です)

戻り値

変換後の文字列を返します。

変更履歴

バージョン 説明
8.0.0 encoding は、nullable になりました。

例1 map の例

<?php
$convmap 
= array (
 
int start_code1int end_code1int offset1int mask1,
 
int start_code2int end_code2int offset2int mask2,
 ........
 
int start_codeNint end_codeNint offsetNint maskN );
// start_codeN および end_codeN に Unicode 値を指定
// 値に offsetN を追加、マスク maskN を指定してビット毎の'AND'をとり、
// 数値エンティティに値を変換します。
?>

例2 mb_encode_numericentity() の例

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

/* ブロック 95-104 にある SJIS-win コードのユーザー定義領域を
   数値エンティティに変換 */
$convmap = array(
       
0xe0000xe03e0x10400xffff,
       
0xe03f0xe0bb0x10410xffff,
       
0xe0bc0xe0fa0x10840xffff,
       
0xe0fb0xe1770x10850xffff,
       
0xe1780xe1b60x10c80xffff,
       
0xe1b70xe2330x10c90xffff,
       
0xe2340xe2720x110c0xffff,
       
0xe2730xe2ef0x110d0xffff,
       
0xe2f00xe32e0x11500xffff,
       
0xe32f0xe3ab0x11510xffff );
$str mb_encode_numericentity($str$convmap"sjis-win");
?>

参考

関連キーワード:  エンティティ, 文字, 数値, string, encoding, numericentity, map, 変換, パラメータ, hex