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

または、これに関数の本体を含めます(例のように1行にあると仮定します):

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

すべてのテストケースで機能します。サンプル入力や詳細がなければ、これ以上詳しく説明することはできません.

于 2012-06-01T23:41:30.413 に答える