首頁 > 後端開發 > php教程 > 如何在 PHP 中將 Unicode 轉義序列解碼為 UTF-8?

如何在 PHP 中將 Unicode 轉義序列解碼為 UTF-8?

Susan Sarandon
發布: 2024-12-29 03:49:15
原創
579 人瀏覽過

How Can I Decode Unicode Escape Sequences to UTF-8 in PHP?

在PHP 中將Unicode 轉義序列解碼為UTF-8 字元

問題:

問題: 內建函數嗎在PHP 中可以將Unicode 轉義序列(如「u00ed」)解碼為對應的UTF-8字符,例如"í"?

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);
登入後複製

答案:

雖然PHP 沒有提供用於此任務的直接函數,但您可以使用正則表達式和字符編碼函數的組合來實現所需的結果:

此程式碼使用正規表示式來匹配Unicode 轉義序列,並使用下列命令將它們替換為對應的UTF-8字元mb_convert_encoding().

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);
登入後複製

如果轉義序列是UTF-16 格式:

此修改後的程式碼假定轉義序列是UTF-16 編碼的,常用於某些程式語言和JSON 表示法。

以上是如何在 PHP 中將 Unicode 轉義序列解碼為 UTF-8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板