有没有一种逻辑方法可以在PHP中使用正则表达式去掉函数名称及其参数?目前我将它逐行拆分,这样我就可以在每一行上拥有每个功能,以便更容易进行标记。
所以:
doSomeFunction(arg, moreargs, stuff);
breakSomething();
ini_set(include_path, /home/htdocs/);
变为
array([0] => 'doSomeFunction(arg, moreargs, stuff);', [1] => 'breakSomething();' and so on...
我遇到的真正问题是使用正则表达式获取函数名称,语法如下:
$functionfromregex($args);
使用PHP的“变量函数名称”功能构造函数,因此可以实现。参数被作为数组使用,因为没有合理的方法来粘合它们以收集PHP需要解析它们的方式。真正的缺点是我对正则表达式不太熟悉,任何帮助将不胜感激,如果您需要任何其他信息,请随时询问。
答案 0 :(得分:5)
如果要解析PHP,可以使用token_get_all
获取给定代码的tokens。
答案 1 :(得分:1)
您还可以查看Reflection课程。
答案 2 :(得分:0)
所以我不确定在php中,我在java中做了类似的事情,以下代码以类似的方式剥离它:
应用于foo(pram1,param2,param3)的[^(&& [......]&& [^,]]]将返回[“foo”,“param1”,“param2”,“param3” “]。
我遇到的问题是这会将所有'('和')'串起来,所以没有办法判断你的参数实际上是变量还是方法。