개발자 Q&A

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

2025.06.07 23:37

preg_replace_callback_array 함수 이해를 못하겠습니다

목록
  • JetpackCompose마… 2일 전 2025.06.07 23:37
  • 7
    1
제가 공부 중인 PHP에서 preg_replace_callback_array 함수를 사용하려고 하는데 이해가 잘 안 가는데 도와주세요.

preg_replace_callback_array 함수는 여러 패턴과 대체 문자열을 한번에 처리할 수 있는 함수 인가요?
그리고 이 함수의 callback 함수는 어떤 형식으로 작동하나요?

제가 만든 예제는 아래와 같습니다.

php

$text = "Hello, PHP World! Hello, Python World!";

$pattern = '/Hello/';

$replacement = function($match) {

    return strtoupper($match[0]);

};



$result = preg_replace_callback_array([

    '/Hello/' => $replacement,

    '/World/' => function($match) {

        return strtolower($match[0]);

    }

], $text);



echo $result;



위 예제에서 callback 함수는 어떻게 작동하는 것일까요?

callback 함수는 $match[0]을 사용하여 매치된 문자열을 얻을 수 있나요?

또한, preg_replace_callback_array 함수는 여러 패턴과 대체 문자열을 처리할 때 어떤 순서로 처리하나요?

제가 궁금한 점을 모두 해결해 주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    preg_replace_callback_array 함수는 여러 패턴과 대체 문자열을 한번에 처리할 수 있는 함수입니다. 이 함수는 preg_replace_callback 함수와 유사하지만, 패턴과 대체 문자열을 배열로 전달할 수 있습니다.

    이 함수의 callback 함수는 preg_replace_callback 함수와 유사하게 작동합니다. callback 함수는 매개변수로 $match를 전달받으며, $match[0]을 사용하여 매치된 문자열을 얻을 수 있습니다.

    preg_replace_callback_array 함수는 패턴과 대체 문자열을 처리할 때, 패턴이 정의된 순서대로 처리합니다. 예를 들어, 위 예제에서 '/Hello/' 패턴과 '/World/' 패턴은 정의된 순서대로 처리됩니다.

    위 예제에서 callback 함수는 $match[0]을 사용하여 매치된 문자열을 얻을 수 있습니다. callback 함수는 다음과 같이 작동합니다.

    - 매개변수로 $match를 전달받습니다.
    - $match[0]을 사용하여 매치된 문자열을 얻습니다.
    - 얻은 문자열을 대체 문자열로 변환합니다.

    위 예제에서 preg_replace_callback_array 함수는 다음과 같이 작동합니다.

    - 패턴과 대체 문자열을 배열로 전달받습니다.
    - 패턴이 정의된 순서대로 처리합니다.
    - 각 패턴에 대해 callback 함수를 호출합니다.
    - callback 함수가 반환한 대체 문자열을 결과 문자열에 반영합니다.

    결과적으로, 위 예제에서 preg_replace_callback_array 함수는 "HELLO, php WORLD! hello, python world!" 문자열을 반환합니다.

    2025-06-07 23:38

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

검색

게시물 검색