2012-08-10 4 views
0

파일 소스에서 PHP 스크립트의 일부 추가 변수를 적용하기 위해 원하는 '후크'가 여러 개 있습니다. 나는 나에게 내가 원하는 경기를주고있다 preg_match_all('/@include_plugin .*@/', $sSource, $aPlugins); 이 정규식을 사용하여 찾을 수 있어요정규식에서 문자열의 특정 부분을 가져 오는 정규식

@ @include_plugin PluginName하지만 직접 내 솔루션 대신 PluginName을 얻을 수도 있습니다 : 후크는 소스 등에 적용된다 그 다음 경기에 하위 문자열을 적용해야합니까?

답변

2

정규 표현식에서 캡처 그룹을 사용해야합니다. 패턴의 일부분을 괄호로 묶어서 만듭니다.

그래서 우리는 플러그인 이름을 가진 인덱스 1에서 당신의 .* var에 덤프의 출력을 확인

preg_match_all('/@include_plugin (.*)@/', $sSource, $aPlugins); 
var_dump($aPlugins); 

(.*)에,있을 것입니다 새로운 하위 배열을 변경합니다.

array(2) { 
    [0]=> 
    array(1) { 
    [0]=> 
    string(27) "@include_plugin [email protected]" 
    } 
    [1]=> 
    array(1) { 
    [0]=> 
    string(10) "PluginName" 
    } 
} 
+0

고맙습니다! 이게 내가 찾는거야. +1 허용됨 (수용 시간 제한으로 인해 10 분 이내)). – Ben

관련 문제