2014-05-25 106 views
0

使用正則表達式我有一個包含這樣的數據的sip.conf文件:故障對PHP

#<COMPTE 
[6007](template) 
fullname = ggg 
username = ggg 
secret = nana 
COMPTE># 

#<COMPTE 
[6008](template) 
fullname = dada 
username = dada 
secret = dada 
COMPTE># 

我創建了使用Java方法:

Matcher matcher = Pattern.compile("(?m)^#<COMPTE.*?COMPTE>#",Pattern.MULTILINE | Pattern.DOTALL).matcher(chaine); 
while (matcher.find()) {  
     comptes=matcher.group();      
} 

我想類似的東西在PHP我已經嘗試了很多東西,但似乎沒有工作,有任何幫助?

回答

1

我想這就是你要找的。

$chaine = <<<EOT 
#<COMPTE 
[6007](template) 
fullname = ggg 
username = ggg 
secret = nana 
COMPTE># 

#<COMPTE 
[6008](template) 
fullname = dada 
username = dada 
secret = dada 
COMPTE># 
EOT; 

$pattern = "/COMPTE(.*?)COMPTE/sm"; // s = dotall, m = multiline 
preg_match_all($pattern, $chaine, $matches); 
print_r($matches); 
+0

謝謝,它工作時,我改變它:$ pattern =「/COMPTE(.*?)COMPTE/sm」; 我接受你的答案,如果你可以像我提到的那樣編輯它,所以其他人找到正確的答案;) – TheSM

+0

我做了改變。謝謝! –