preg_replace 함수는 정규 표현식에 따라 일치 및 교체가 가능하며, 횟수를 지정할 수 있습니다. 이제 문자열과 같이 지정된 일치 항목의 n번째를 교체하고 싶습니다. 정규 표현식을 작성했는데, 이 문자열은 총 3번 일치할 수 있습니다. 그런 다음 두 번째 일치 항목만 바꾸려고 합니다. 어떻게 해야 합니까? PHP에 그러한 구현이 있습니까?
preg_replace 함수는 정규 표현식에 따라 일치 및 교체가 가능하며, 횟수를 지정할 수 있습니다. 이제 문자열과 같이 지정된 일치 항목의 n번째를 교체하고 싶습니다. 정규 표현식을 작성했는데, 이 문자열은 총 3번 일치할 수 있습니다. 그런 다음 두 번째 일치 항목만 바꾸려고 합니다. 어떻게 해야 합니까? PHP에 그러한 구현이 있습니까?
preg_replace_callback 사용
사용방법은 매뉴얼 참조
은 교체를 처리하기 위해 다른 함수를 호출하는 preg_replace_callback
으로 처리할 수 있습니다.
코드로 이동하세요:
<code>$i=1; $result = preg_replace_callback('/a/',function($match)use(&$i){ $match = $i != 2 ? $match[0] : ''; $i++; return $match; },'a1a2a3a4'); var_dump($result);</code>