2012-05-13 7 views
0
[div="desc"][1="text1"][2="text2"][3="link3"][/div] 

그리고 그것은 어떻게 "내림차순", 숫자와 텍스트를 추출 정규식을 만들 수 6 의 한계를 계속 할 수 계속? PHP 배열로 시도했지만 수 없습니다.PHP의 BBCode는 재귀 정규식

감사합니다.

+1

어디에서 재귀가 있습니까? 형식은 모든 후속 텍스트에서 동일 할 것인가? – Shubham

답변

2

여기에 재귀가 없습니다. 최소한 예제에는 표시되지 않습니다. 일반적인 경우 재귀가되는 경우 regexes 작동하지 않습니다; 파서를 사용해야합니다.

이 경우, 우선/[([^]] +)] /와 같은 정규식을 사용하여 preg_match_all을 사용하는 것이 좋습니다. 이 함수에 배열 matches을 전달하면 preg_match_all을 실행 한 후 matches[1]은 문자열 '[div = "desc"]', '[1 = "text1"]'등이 포함 된 배열이어야합니다. foreach을 사용하여 반복하고 각 문자열을 =으로 분할 한 다음 구문 분석 한 문자열의 두 부분을 원하는대로 수행하십시오.