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
Lepaskan: 2024-11-27 18:55:12
asal
652 orang telah melayarinya

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);
Salin selepas log masuk

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/"
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan