0

可能重复:
解析 PHP 代码以提取函数名称?

我正在编写一个脚本来读取我的 PHP 文件并获取所有函数作为返回。

preg_split()用来将我的文件拆分为一组函数。

我在编写模式以获取所有返回的函数时遇到问题(当函数名称包含“函数”一词时遇到问题。我愿意接受任何其他解决方案/建议。

预期输出:

array (
  0 => 'function write{$oneparam, $two, $three){return $two}',
  1 => 'function read{$oneparam, $two, $tthree){returne $awesome}',
  2 => 'function edit{$oneparam, $two, $three){return $two},
  3 => 'function delete{$oneparam, $two, $three){return $two}',
  4 => 'function lastfunction{$oneparam, $two, $three){return $two}'
)
4

1 回答 1

1

您可以尝试这样的事情来捕获名称/声明:

#(function\s+\w+\(.*?\)#s

或者这包括函数的主体(假设它们像您的示例一样在一行上):

#(function\s+\w+\(.*?\)\s*{.*?})#s

它适用于您的所有测试用例,并且没有任何示例输入或更多详细信息,我无法进一步详细说明。

于 2012-06-01T23:41:30.413 回答