假设我有
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
我怎么能preg_match()
,所以它返回"Arg1, Arg2"
(带双引号,不带$funcName
?
我试过:
$pattern = '/(?:'.$funcName.'|'".*?)'"/';
preg_match($pattern, myFuncString, $matches);
即使不匹配$funcName
它也返回"Arg1, Arg2"
。有什么建议吗?
这应该有效:
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
//$funcName = 'NooBar';
$pattern = '/'.$funcName.''("(.*)"')/';
$matches = preg_match($pattern, $myFuncString, $res);
echo $res[1];
我不得不向具有结果的preg_match添加$res
并更正模式。
演示:http://sandbox.onlinephpfunctions.com/code/6de9d1236b82339199a2c64e914b5ca5b80e4e77