반응형
PHP에서 슬래시(/)를 처리하는 방식은 상황에 따라 달라질 수 있습니다. 다음은 주요한 경우들을 정리한 것입니다.
1. 문자열 내 슬래시 처리
PHP 문자열에서 /는 특별한 이스케이프 문자로 처리할 필요가 없습니다.
$str = "http://example.com/path/to/file";
echo $str;
// 출력: http://example.com/path/to/file
2. 정규식에서 슬래시 이스케이프
정규식에서 /는 구분자(delimiter)로 사용되기 때문에, 패턴 안의 슬래시는 \/로 이스케이프해야 합니다.
$pattern = "/\/path\/to\/file/";
$subject = "/path/to/file";
if (preg_match($pattern, $subject)) {
echo "매치됨";
}
또는, 다른 구분자(~ 등)를 사용하면 슬래시 이스케이프 없이 작성할 수 있습니다
$pattern = "~^/path/to/file$~";
반응형
3. addslashes() 또는 stripslashes() 함수 사용
addslashes()는 문자열 내의 ', ", \, 그리고 NULL을 이스케이프합니다. /는 이스케이프하지 않습니다.
$str = "a/b/c";
echo addslashes($str); // 출력: a/b/c (슬래시는 그대로)
슬래시도 이스케이프하고 싶다면 str_replace()를 사용하세요.
$escaped = str_replace('/', '\/', $str);
4. JSON 인코딩 시 슬래시 이스케이프
json_encode()는 기본적으로 슬래시를 \/로 이스케이프합니다. 이는 보안 목적(특히 <\/script> 같은 케이스)입니다.
$data = ['url' => 'http://example.com'];
echo json_encode($data); // {"url":"http:\/\/example.com"}
슬래시 이스케이프 없이 출력하고 싶다면 JSON_UNESCAPED_SLASHES 옵션을 사용합니다.
echo json_encode($data, JSON_UNESCAPED_SLASHES); // {"url":"http://example.com"}
쿼카가 잃어버린 알파벳을 찾고 있어요
도와준 분께는 보답으로 테슬라 주식 최대 100만원 어치를 준대요
👉 지금 이 링크를 누르면,
쿼카에게 알파벳 1개를 찾아 줄 수 있어요
https://tossinvest.com/_ul/E0up0D
반응형
'PHP' 카테고리의 다른 글
쇼핑몰 개발시 주문번호 생성 방법 (77) | 2025.07.24 |
---|---|
POST 방식의 API 호출 예제 (26) | 2025.06.24 |
API 이란 무엇인가요? (37) | 2025.06.23 |
변수의 어떤 값이 숫자인지 확인하려면 (8) | 2025.06.23 |
openssl_decrypt() 사용가능 유무 (55) | 2025.06.18 |