token_get_all指定したソースを PHP トークンに分割する 説明
array token_get_all(string
$code , int $flags = 0)
token_get_all は指定した文字列
パーサトークンの一覧を得るには、パーサトークンの一覧 を参照するか、 あるいは token_name でトークン値を文字列表現に 変換します。 パラメータ
戻り値
トークン ID の配列を返します。配列の各要素には、一文字単位の文字列
(例: 例
例1 token_get_all の例
上の例の出力は、 たとえば以下のようになります。 Line 1: T_OPEN_TAG ('<?php ') Line 1: T_ECHO ('echo') Line 1: T_WHITESPACE (' ') Line 1: T_CLOSE_TAG ('?>')
例2 token_get_all の間違った使いかた
上の例の出力は、 たとえば以下のようになります。 Line 1: T_INLINE_HTML ('/* comment */') T_COMMENT
ではなく T_INLINE_HTML とパースされていたことに注意しましょう。
これは、指定した "code" の中に開始タグが含まれていないからです。
通常のファイルで、コメントを PHP タグの外部に書いた場合にも同じようになります。
例3 予約語を使ったクラスでの token_get_all の例
上の例の出力は、 たとえば以下のようになります。 T_OPEN_TAG T_WHITESPACE T_CLASS T_WHITESPACE T_STRING T_CONST T_WHITESPACE T_STRING T_LNUMBER TOKEN_PARSE フラグを指定しなければ、最後から二番目のトークン
(T_STRING ) が
T_PUBLIC と解釈されてしまいます。
参考
|