>백엔드 개발 >PHP 튜토리얼 >PHP\의 `json_encode()`에서 슬래시 이스케이프를 방지하려면 어떻게 해야 합니까?

PHP\의 `json_encode()`에서 슬래시 이스케이프를 방지하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-27 18:55:12629검색

How Can I Prevent Forward Slash Escaping in PHP's `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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.