어떻게 패턴 일치를 계산 한 다음 패턴을 개수로 대체할까요?패턴 일치 및 PHP의 카운트로 대체
일치하는 모든 패턴은 문자열의 bbcode 스타일 태그입니다.
예 : 모든 단어가 [파랑] 색 [/ 파랑] 인 [파랑] 텍스트 [/ 파랑]의 단락입니다.
나는이 발생할 때처럼 숫자와 추가 텍스트로 를 각 태그를 교체해야 [@@ 1 @@] 및 [@@ 2 @@]
내가는 preg_match와 패턴을 일치시킬 수 있습니다 알고 ('/[blue](.*?)[blue]/i',$string) 또는 심지어 preg_replace를 대체하십시오.
하지만 어떻게 이러한 함수 중 하나를 사용하여 카운트를 얻고 일치 항목을 그것의 계산 위치?
에 대한 추가 정보를 원하시면 manual 참조 "카운트"당신은 당신이 각각의 교체에 반복자를 포함 할 것을 의미합니까, 나를 혼란? 예를 들어'hello [blue] some [/ blue] [blue] text [/ blue]'는'hello [replaced_blue1] some [/ replaced_blue1] [replaced_blue2] text [/ replaced_blue2]'가됩니까? – nyson
네 맞습니다! – Blade
정규 표현식으로는 불가능하지는 않더라도 어렵다고 생각합니다. 내가 너라면, [preg_match()] (http://php.net/manual/en/function.preg-match.php)에 대한 PREG_OFFSET_CAPTURE 플래그를 확인하여 위치를 얻은 다음 분할하고 연결합니다. 그것에 따라 문자열이 일치합니다. 나는 내일까지 바쁘다. 그러나 나는 당신에게 개념 증명을 줄 수있다. – nyson