繁体   English   中英

使用正则表达式从PHP中解析字符串中的函数

[英]Using Regular Expressions to parse functions from a string in PHP

有没有一种逻辑方法可以在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需要解析它们的方式。 真正的缺点是我对正则表达式不太熟悉,任何帮助将不胜感激,如果您需要任何其他信息,请随时询问。

如果要解析PHP,可以使用token_get_all获取给定代码的标记

您还可以查看Reflection类。

所以我不确定在PHP中,我在java中做类似的事情,以下代码以类似的方式剥离它:

[^(&& [^)&& [^,]]]应用于foo(param1,param2,param3)将返回[“foo”,“param1”,“param2”,“param3”]。

我遇到的问题是这会将所有'('和')'串起来,所以没有办法判断你的param实际上是变量还是方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM