假设我有一个模式数组
array(
'/foo\d+/',
'/bar\d+/',
'/baz\d+/'
)
而且我知道只有一种模式会匹配主题,例如foo12
我如何确定哪种模式匹配?
我是否必须使用preg_match
循环遍历数组?
或是否有使用preg_replace_callback
或其他东西的更好的解决方案?
答案 0 :(得分:3)
为什么不这样做
preg_match('/(foo|bar|baz)\d+/', $input, $match);
然后$match[1]
会有您的命名位foo
或bar
或baz
,然后这样说
switch( $match[1] ){
case 'foo':
break;
case 'bar':
break;
case 'baz':
break;
}
等..