如何在// BEGIN和// END块之间捕获任何内容?

时间:2013-08-17 15:32:15

标签: php regex

//BEGIN domain
//data for domain
'domain'=>array(

 'site'=>'4',
 'domain'=>'test.dev',
 'locale'=>'en_US',
 'site'=>'2',
 'domain'=>'anothertest.dev',
 'locale'=>'de_DE',
 'site'=>'3',
 'domain'=>'localhost',
 'locale'=>'nl_NL',
),
//END domain

如何在// BEGIN和// END块之间捕捉任何内容。并preg_replace它。我尝试使用

'/\/\/BEGIN (.*) \/\/END/'

但新线路很麻烦。

1 个答案:

答案 0 :(得分:3)

换行不是问题。只需使用s修饰符。

那就是说,你可以做得更好:

$start = strpos($input,"//BEGIN");
$start_nextline = strpos($input,"\n",$start)+1;
$end = strpos($input,"//END");
$result = substr($input,$start_nextline,$end);