ホームページ > バックエンド開発 > PHPチュートリアル > PHP で Unicode エスケープ シーケンスを UTF-8 にデコードするにはどうすればよいですか?

PHP で Unicode エスケープ シーケンスを UTF-8 にデコードするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-29 03:49:15
オリジナル
581 人が閲覧しました

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

PHP で Unicode エスケープ シーケンスを UTF-8 文字にデコードする

質問: 組み込み関数はありますか「u00ed」のような Unicode エスケープ シーケンスを対応する UTF-8 文字にデコードできる PHP では、 "í" など?

答え: PHP にはこのタスク用の直接関数は提供されていませんが、正規表現と文字エンコード関数を組み合わせて使用​​すると、目的の結果を得ることができます。

$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);
ログイン後にコピー

このコードは、正規表現を使用して Unicode エスケープ シーケンスと一致し、それらを対応する UTF-8 文字に置き換えます。 mb_convert_encoding().

エスケープ シーケンスが UTF-16 形式の場合:

$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 でエンコードされていることを前提としています。 、特定のプログラミング言語と JSON 表記法で一般的に使用されます。

以上がPHP で Unicode エスケープ シーケンスを UTF-8 にデコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート