ホームページ >バックエンド開発 >PHPチュートリアル >PHP の `json_encode()` でのスラッシュ エスケープを防ぐにはどうすればよいですか?
json_encode() でのスラッシュのエスケープ
PHP で JSON を操作する場合、エスケープされたスラッシュ (「/」) がよく発生します。エンコード中。これは、JSON_ENCODE() がこれらの文字を自動的にエスケープするためであり、状況によっては問題が発生する可能性があります。
たとえば、json_decode($response)->data を使用して Instagram から取得した JSON データをデコードする場合、次のものが必要になる場合があります。変数を PHP 配列に解析し、データを再構築し、キャッシュ用に再エンコードします。ただし、キャッシュ ファイルを開くと、「http://distilleryimage4.instagram.com/410e7...」のようにスラッシュがエスケープされていることに気づくかもしれません。
この自動エスケープを防ぐには、次のようにします。 PHP 5.4 以降では JSON_UNESCAPED_SLASHES フラグを利用できます:
json_encode($str, JSON_UNESCAPED_SLASHES);
ただし、以前のバージョンを使用している場合は、 PHP では、ニーズに合わせて既存の関数を手動で変更する必要があります。ガイダンスとして https://snippets.dzone.com/posts/show/7487 などのリソースを参照することを検討してください。
これは簡単なデモです:
$url = 'http://www.example.com/'; echo json_encode($url), "\n"; // Output: "http:\/\/www.example.com\/" echo json_encode($url, JSON_UNESCAPED_SLASHES), "\n"; // Output: "http://www.example.com/"
スラッシュを制御する方法を理解することによってjson_encode() でエスケープすると、JSON 関連の操作中にデータを効果的に管理できます。
以上がPHP の `json_encode()` でのスラッシュ エスケープを防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。