这是 $source 示例
/**
* These functions can be replaced via plugins. If plugins do not redefine these
* functions, then these will be used instead.
*/
if ( !function_exists('wp_set_current_user') ) :
/**
* Changes the current user by ID or name.
*
*/
function wp_set_current_user($id, $name = '') {
注意:有些没有 function_exists 行。
出于我的特殊目的,我正在尝试使用正则表达式解析文档块。
这是正则表达式
$t = preg_match_all("@(/\*\*.*?\*/\nfunction\s.*?\(.*?\))\s{@mis",$source,$m);
我希望得到:
/**
* Changes the current user by ID or name.
*
*/
function wp_set_current_user($id, $name = '') {
但相反,它返回给我整个代码示例。
任何帮助,将不胜感激。
我发现有些人问我的目的,但我认为这在这里并不重要。
我正在使用 geany,我发现现有的 wordpress 代码提示不完整。
我发现的 docblock 解析器不解析函数名和函数参数。
所以我尝试自己解析它们。
geany 的代码提示格式是
wp_set_current_user|Changes the current user by ID or name.|($id, $name = '')|
但是,我对这个问题的看法是如何使正则表达式以第二个“/**”为起点?我很抱歉我糟糕的英语让大家感到困惑。