Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mencegah Melarikan Slash Hadapan dalam `json_encode()` PHP?

Bagaimanakah Saya Boleh Mencegah Melarikan Slash Hadapan dalam `json_encode()` PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-27 18:55:12711semak imbas

How Can I Prevent Forward Slash Escaping in PHP's `json_encode()`?

Melepaskan Garis Miring Hadapan dalam json_encode()

Apabila bekerja dengan JSON dalam PHP, adalah perkara biasa untuk menghadapi garis miring ke hadapan yang terlepas ("/") semasa pengekodan. Ini kerana JSON_ENCODE() melarikan diri secara automatik daripada aksara ini, yang boleh menimbulkan masalah dalam situasi tertentu.

Sebagai contoh, apabila anda menyahkod data JSON yang ditarik daripada Instagram menggunakan json_decode($response)->data, anda mungkin memerlukan untuk menghuraikan pembolehubah ke dalam tatasusunan PHP, menyusun semula data dan mengekod semula untuk caching. Walau bagaimanapun, apabila membuka fail cache, anda mungkin perasan bahawa garis miring ke hadapan telah dilepaskan, menyerupai "http://distilleryimage4.instagram.com/410e7...".

Untuk mengelakkan pelarian automatik ini, anda boleh menggunakan bendera JSON_UNESCAPED_SLASHES dalam PHP 5.4 atau lebih baru:

json_encode($str, JSON_UNESCAPED_SLASHES);

Walau bagaimanapun, jika anda menggunakan versi PHP yang lebih awal, anda perlu mengubah suai fungsi sedia ada secara manual untuk memenuhi keperluan anda. Pertimbangkan untuk merujuk sumber seperti https://snippets.dzone.com/posts/show/7487 untuk mendapatkan panduan.

Berikut ialah demonstrasi mudah:

$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/"

Dengan memahami cara mengawal garis miring ke hadapan melarikan diri dalam json_encode(), anda boleh mengurus data dengan berkesan semasa operasi berkaitan JSON.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Melarikan Slash Hadapan dalam `json_encode()` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn