函數(shù)名稱:mb_encode_numericentity()
適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7
函數(shù)描述:將字符串中的非ASCII字符編碼為十進制或十六進制的字符實體
用法:
string mb_encode_numericentity ( string $str , array $convmap , string $encoding = mb_internal_encoding() , bool $is_hex = false ): string
參數(shù):
- $str:需要進行編碼的字符串。
- $convmap:包含從字符到數(shù)值的映射的數(shù)組。數(shù)組的格式為 array(字符開始, 字符結(jié)束, 基數(shù), 轉(zhuǎn)換后的字符串編碼)。例如,要將所有字符轉(zhuǎn)換為十六進制實體,可以使用 array(0, 0x10FFFF, 16, '&#x%X;')。
- $encoding:可選參數(shù),指定字符串編碼,默認為當前的內(nèi)部編碼。
- $is_hex:可選參數(shù),指定是否將實體編碼為十六進制。默認為false,即使用十進制編碼。
返回值:編碼后的字符串。
示例:
$str = "Hello, 世界!";
$convmap = array(0x80, 0x10FFFF, 0, 0xFFFD);
$encoded_str = mb_encode_numericentity($str, $convmap, 'UTF-8', true);
echo $encoded_str;
輸出:
Hello, 世界!
以上示例中,我們將字符串"Hello, 世界!"中的非ASCII字符編碼為十六進制字符實體。字符"世"的十六進制編碼為4E16,字符"界"的十六進制編碼為754C,因此輸出結(jié)果為"Hello, 世界!"。