捕获带括号的函数名称

Capture function name with brackets

我正在尝试捕获整个函数名称,例如:

player($var)

我试过这个:

preg_match_all('/(function )(?P<name>\w+)/', $content, $matches, PREG_OFFSET_CAPTURE);

这个returns:

[2] => 数组 ( [0] => 数组 ( [0] => __construct [1] => 140 )

    [1] => Array
        (
            [0] => player
            [1] => 365
        )

    [2] => Array
        (
            [0] => creates
            [1] => 13356
        )

    [3] => Array
        (
            [0] => onYouTubeIframeAPIReady
            [1] => 13475
        )

为什么不返回函数变量?

要捕获变量,请将正则表达式更改为:

/(function )(?P<name>\w+\s*\([^)]*\))/

/(function )(?P<name>\w+)\s*\((P<variables>[^)]*)\)/

函数名是命名组name和组variables

中的变量