PHP ファイル内の特定の関数呼び出しの前にある docblock を取得しようとしています。通常のアプローチとの違いは、関数定義の docblock を解析しようとしていないことです。
サンプルファイル:
<?php
$data = get_data($id);
if ( empty( $data->random ) ) {
/**
* Brief description
*
* @since 1.0
* @param int $var Variable
*/
do_function( 'identifier', $var );
exit;
}
// random comment
$status = get_random_function($post);
?>
do_function
解析するさまざまなファイルのさまざまな場所に表示されます。私が取得して解析しようとしているのは、関数呼び出しを含む先行する docblock です。
ファイルにはクラスが含まれていないため、Reflection クラスはオプションではないため、空の配列を返す次の RegExp に行き詰まっています。
preg_match_all('/(\/\*.+\*\/)[\s]{0,}do_function/m', $filecontent_as_string, $results);
ここで何が間違っていますか?ありがとう!