본문 바로가기
PHP

PHP에서 슬래시(/)를 처리하는 방식

by 코딩박사 2025. 6. 25.
반응형

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

반응형