개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.06 10:16

preg_filter 사용법에 대한 질문

목록
  • 클린코더 오래 전 2025.06.06 10:16
  • 71
    1
제가 preg_filter 함수를 사용하여 특정 패턴을 필터링하고자 하는데, 다음과 같은 코드를 작성하였습니다.

php

$string = "Hello, World!";

$pattern = "/Hello/";

$result = preg_filter($pattern, "", $string);

print($result);



이 코드는 예상한대로 "ello, World!"를 출력합니다. 그러나 제게 궁금한 점은, $pattern에 대해 여러 패턴을 설정할 수 있는지에 관한 것입니다. 예를 들어, 다음과 같은 코드를 작성하였습니다.

php

$string = "Hello, World!";

$pattern = array("/Hello/", "/World/");

$result = preg_filter($pattern, "", $string);

print($result);



이 코드는 어떤 결과를 출력할까요? 또한, $pattern에 여러 패턴을 설정하였을 때, preg_filter 함수가 어떻게 동작하는지 궁금합니다.

제가 이해한 바로는, preg_filter 함수는 첫 번째 패턴에 매치되는 문자열을 제거하고, 두 번째 패턴에 매치되는 문자열을 추가하는 것처럼 동작합니다. 그러나 실제로 어떤 동작을 하는지 정확히 이해하고 싶습니다.

따라서, preg_filter 함수에 여러 패턴을 설정할 수 있는지, 어떻게 동작하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    preg_filter 함수는 여러 패턴을 설정할 수 있습니다.

    $pattern에 여러 패턴을 설정한 경우, preg_filter 함수는 첫 번째 패턴부터 순서대로 검사합니다.

    만약 첫 번째 패턴에 매치되는 문자열이 있다면, 그 문자열은 제거됩니다.

    그 다음 패턴에 매치되는 문자열이 있다면, 그 문자열은 추가됩니다.

    만약 첫 번째 패턴과 두 번째 패턴에 모두 매치되는 문자열이 있다면, 첫 번째 패턴에 매치되는 문자열은 제거되고, 두 번째 패턴에 매치되는 문자열은 추가됩니다.

    예를 들어, 다음과 같은 코드를 작성하였습니다.

    #hostingforum.kr
    php
    
    $string = "Hello, World!";
    
    $pattern = array("/Hello/", "/World/");
    
    $result = preg_filter($pattern, "", $string);
    
    print($result);
    
    


    이 코드는 ""를 출력합니다.

    이유는 첫 번째 패턴 "/Hello/"에 매치되는 문자열 "Hello"가 제거되었기 때문입니다.

    두 번째 패턴 "/World/"에 매치되는 문자열 "World"는 추가되지 않았습니다.

    만약 두 번째 패턴 "/World/"에 매치되는 문자열 "World"를 추가하고 싶다면, 다음과 같은 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $string = "Hello, World!";
    
    $pattern = array("/Hello/", "/World/");
    
    $result = preg_filter($pattern, "World", $string);
    
    print($result);
    
    


    이 코드는 "World!"를 출력합니다.

    이유는 첫 번째 패턴 "/Hello/"에 매치되는 문자열 "Hello"가 제거되고, 두 번째 패턴 "/World/"에 매치되는 문자열 "World"가 추가되었기 때문입니다.

    2025-06-06 10:17

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,050건 / 30 페이지

검색

게시물 검색