これが $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 行がないものもあります。
私の特別な目的のために、docblock を正規表現で解析しようとしています。
ここに正規表現があります
$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 を使用していますが、既存のワードプレス コード ヒントが完全ではないことがわかりました。
そして、私が見つけたdocblockパーサーは、関数名と関数引数を解析しません。
だから私は自分でそれらを解析しようとします。
geany のコードヒント形式は
wp_set_current_user|Changes the current user by ID or name.|($id, $name = '')|
ただし、この質問の私のポイントは、正規表現に2番目の「/ **」を開始点として使用させる方法ですか? あなたを混乱させた私の下手な英語で申し訳ありません。