현재 위치: > 함수 카테고리 모음> preg_replace_callback_array

preg_replace_callback_array

정규 표현식 검색을 수행하고 콜백 교체를 사용하십시오
이름:preg_replace_callback_array
분류:정기적 인 처리 pcre
사용 언어:php
한 줄 설명:표현식을 콜백 함수와 연관시키는 배열이 주어지면 각 표현식의 모든 일치가 콜백 함수에 의해 반환 된 하위 문자로 대체되는 문자열을 반환합니다.

정의 및 사용법

preg_replace_callback_array() 함수는 문자열 또는 문자열 배열을 반환합니다. 여기서 정규 표현식 일치 세트는 콜백 함수의 리턴 값으로 대체됩니다.

참고 : 각 문자열에 대해 함수는 주어진 순서의 패턴을 평가합니다. 문자열에서 첫 번째 패턴을 평가 한 결과는 두 번째 패턴의 입력 문자열로 사용됩니다. 이것은 예기치 않은 행동으로 이어질 수 있습니다.

예 1

문장의 각 단어가 포함 된 문자 또는 숫자 수를 보여줍니다.

 <? php
함수 카운트 레터 ( $ matches ) {
  반환 $ 일치 [ 0 ] . '[' . strlen ( $ 일치 [ 0 ] ) . '편지]' ;
}

함수 countDigits ( $ matches ) {
  반환 $ 일치 [ 0 ] . '[' . strlen ( $ 일치 [ 0 ] ) . '숫자]' ;
}

$ input = "1 년에 365 일이 있습니다." ;
$ 패턴 = [
  '/\ b [az]+\ b/i' => '카운트 레터' ,
  '/\ b [0-9]+\ b/' => 'CountDigits'
] ;
$ result = preg_replace_callback_array ( $ patterns , $ input ) ;
echo $ 결과 ;
?>

직접 시도하십시오

예 2

이 예는 패턴이 순차적 평가에서 가질 수있는 잠재적 인 예기치 않은 효과를 보여줍니다. 먼저, 카운트 레터 교체가 "일"이후 "[4letter]"를 추가합니다. 교체를 실행 한 후 CountDigits 교체는 "4LETTER"에서 "4"를 찾아 "[1Digit]"에 추가합니다.

 <? php
함수 카운트 레터 ( $ matches ) {
  반환 $ 일치 [ 0 ] . '[' . strlen ( $ 일치 [ 0 ] ) . '편지]' ;
}

함수 countDigits ( $ matches ) {
  반환 $ 일치 [ 0 ] . '[' . strlen ( $ 일치 [ 0 ] ) . '숫자]' ;
}

$ input = "365 일" ;
$ 패턴 = [
  '/[az]+/i' => 'Countletters' ,
  '/[0-9]+/' => 'CountDigits'
] ;
$ result = preg_replace_callback_array ( $ patterns , $ input ) ;
echo $ 결과 ;
?>

직접 시도하십시오

유사한 함수
  • 글로벌 정규 표현식을 수행하십시오 preg_match_all

    preg_match_all

    글로벌정규표현식을수행하십시오
  • 정규 표현 일치를 수행하십시오 preg_match

    preg_match

    정규표현일치를수행하십시오
  • 정규 표현식 검색 및 교체를 수행하십시오 preg_replace

    preg_replace

    정규표현식검색및교체를수행하십시오
  • 정기 표현 검색 및 교체를 수행하십시오 preg_filter

    preg_filter

    정기표현검색및교체를수행하십시오
  • 정규 표현식 검색을 수행하고 콜백 교체를 사용하십시오 preg_replace_callback_array

    preg_replace_callback_array

    정규표현식검색을수행하고콜백교체를사용하
  • 정규 표현식 검색을 수행하고 콜백으로 바꾸십시오. preg_replace_callback

    preg_replace_callback

    정규표현식검색을수행하고콜백으로바꾸십시
  • 마지막 PCRE 정규 표현 실행의 오류 메시지를 반환합니다. preg_last_error_msg

    preg_last_error_msg

    마지막PCRE정규표현실행의오류메시지를
  • 정규 표현으로 문자열을 분리하십시오 preg_split

    preg_split

    정규표현으로문자열을분리하십시오