函式名稱:mb_encode_numericentity()
適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7
函式描述:將字串中的非ASCII字元編碼為十進位制或十六進位制的字元實體
用法:
string mb_encode_numericentity ( string $str , array $convmap , string $encoding = mb_internal_encoding() , bool $is_hex = false ): string
引數:
- $str:需要進行編碼的字串。
- $convmap:包含從字元到數值的對映的陣列。陣列的格式為 array(字元開始, 字元結束, 基數, 轉換後的字串編碼)。例如,要將所有字元轉換為十六進位制實體,可以使用 array(0, 0x10FFFF, 16, '&#x%X;')。
- $encoding:可選引數,指定字串編碼,預設為當前的內部編碼。
- $is_hex:可選引數,指定是否將實體編碼為十六進位制。預設為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,因此輸出結果為"Hello, 世界!"。
熱門工具排行榜