基本上我想从php字符串源内容找到一个函数。我试图解析一个php文件,并读取其内容成字符串。我想找一些像:
function_name(paras)
或function_name()
或function_name(params, params)
例如,如果源包含:
echo 'Greetings'.greet("I'm Johan");
$age = date_of_birth(date());
echo 'I am ' .$age . 'years old';
,然后它会找到 greet
, date_of_birth
, date
,因为这些是使用的函数。
如果你想获得包含嵌套括号的参数,就像你的date_of_birth(date())
,使用regex可能不是不可能的,但非常困难。
如果你认为找到函数名就足够了,那么你可以试试:
'w+(?='()
在Regexr上查看
匹配至少一个单词字符,后面跟着一个左括号。
'w
包含字母、数字和下划线
(?='()
是一个正面的向前看,检查(
是否跟随
你需要一个正则表达式:也许像这样
preg_match("[a-zA-Z_][a-zA-Z_0-9]*(.*)",$stringToLookIn);
preg_match_all('/([a-zA-Z_]'w+)'s*'(/', $source, $match);
var_dump($match[1]);