阅读与PHP

问题描述:

系统文件内容部分,我有一个config文件,在etc/称为1.conf阅读与PHP

这里是内容..

[2-main] 
exten => s,1,Macro(speech,"hi {$VAR1} how is your day going?") 
exten => s,4,Macro(dial,2,555555555) 
exten => s,2,Macro(speech,"lkqejqe;j") 
exten => s,3,Macro(speech,"hi there") 
exten => s,5,Macro(speech,"this is a test ") 
exten => s,6,Macro(speech,"testing 2") 
exten => s,7,Macro(speech,"this is a test") 
exten => 7,1,Goto(2-tester2,s,1) 
exten => 1,1,Goto(2-aa,s,1) 
[2-tester] 
[2-aa] 
exten => 1,1,Goto(2-main,s,1) 



我怎么能读在演讲之间的内容例如..

exten => s,6,Macro(speech,"testing 2") 

刚刚从那得到"testing 2"

预先感谢您!

+0

有很多'speech',这'speech'?所有? – codaddict 2010-04-22 07:10:46

+0

Theres是一个独特的数字,所以你可以选择一个这样的方式 – 2010-04-22 07:11:54

如果我没有理解错,这

$text = file_get_contents('/etc/1.conf'); 
preg_match_all('/speech,"(.*)"/', $text, $match); 

将填补从语音线路中的全部文本$match阵列。具体来说,$match[1]将只包含引号内的字符串数组,这样你就可以方便性和易读做到这一点:

$speeches = $match[1]; 
echo $speeches[0]; // or 1 or 2 etc. 
+0

好的谢谢你! 如果它在[2-aa]而不是[2-main]下面呢?你会怎么做? – 2010-04-22 07:18:23

+1

这个正则表达式匹配包含'speech'的每一行,后面跟着一个逗号和一个用双引号括起来的字符串,无论它出现在文件中何处。 – 2010-04-22 07:22:17

+0

啊,我明白了。 那么它为我打印出“语音”,测试2“”。 我该如何打印出测试2的“”之间的内容? – 2010-04-22 07:32:20