preg_replace_callback查找2个匹配项应为1

时间:2013-02-03 00:10:48

标签: php preg-replace-callback

我在文本框中显示以下代码并将其转换为表格:

foreach([-Order Detail List([-Order Id-])-]){{
   [-order_detail_id-]
   [-order_id-]
   [-account_id-]
   [-order_detail_assigned-]
}}

我正在使用此函数执行替换回调:

preg_replace_callback('/(foreach)\(.*?\).*?\}\}/is', array($declaration, 'GetListPlaceholderConverter'), $email_body);

在我的逻辑中:

$x = 0;
foreach($matches as $match){
 $x++;
}
return $x;

$ x继续返回2,即使它应该是一个......我的回调出了什么问题?

var_dump($ matches)正在返回:

array(2) { [0]=> string(153) "foreach([-Order Detail List([-Order Id-])-]){{ 
[-order_detail_id-] 
[-order_id-] 
[-account_id-] 
[-order_detail_assigned-] 
}}" [1]=> string(7) "foreach" }

第二根弦怎么进入那里?

0 个答案:

没有答案