Tokenizer 関数
導入
tokenizer 関数は、Zend Engine に組み込まれた PHP tokenizer への インターフェイスを提供します。以下の関数により、 字句解析レベルの言語処理を行うことなく、PHP ソースを解析/修正する ツールを作成することが可能となります。トークンに関する付録も参照ください。
要件
外部ライブラリを必要としません。インストール手順
PHP 4.3.0 以降、以下の関数はデフォルトで有効となっています。 これ以前のバージョンの場合、 --enable-tokenizer を指定して PHP をコンパイルする必要があります。 --disable-tokenizer を指定すること により、tokenizer サポートを無効とすることができます。Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。
注意: tokenizer の組込みサポートは PHP 4.3.0 で利用可能となりました。
定義済み定数
この拡張モジュールを組み込んで PHP をコンパイルするか、あるいは実行時に 動的にモジュールを読み込むと、付録 Q. パーサトークンの一覧 に挙げられている トークンが定数として定義されます。例
以下に tokenizer を用いた簡単な PHP スクリプトの例を示します。この例は、 PHP ファイルを読み込み、ソースから全てのコメントを削除し、コードのみを 出力するものです。例 2379. tokenizer によりコメントを削除する
<?php
/*
* T_ML_COMMENT は PHP 5 には存在しません。
* 以下の 3 行で、古いバージョンとの互換性を確保するために
* これらを定義しています。
*
* その次の 2 行では、PHP 5 にのみ存在する T_DOC_COMMENT を定義しています。
* T_ML_COMMENT が存在するかどうかで PHP 4 かどうかを判断しています。
*/
if (!defined('T_ML_COMMENT')) {
define('T_ML_COMMENT', T_COMMENT);
} else {
define('T_DOC_COMMENT', T_ML_COMMENT);
}
$source = file_get_contents('example.php');
$tokens = token_get_all($source);
foreach ($tokens as $token) {
if (is_string($token)) {
// 簡単な1文字毎のトークン
echo $token;
} else {
// トークン配列
list($id, $text) = $token;
switch ($id) {
case T_COMMENT:
case T_ML_COMMENT: // we've defined this
case T_DOC_COMMENT: // and this
// コメントの場合は何もしない
break;
default:
// それ以外の場合 -> "そのまま"出力
echo $text;
break;
}
}
}
?>
目次
- token_get_all — 指定したソースを PHP トークンに分割する
- token_name — 指定した PHP トークンのシンボル名を取得する
「Tokenizer 関数」の例文・使い方・用例・文例
- その際には、この関数を使用します
- 関数が条件が真の場合にゼロの値を返す
- 小文字のゼータは数学で関数を意味する。
- このシステムは波動関数で記述することができる。
- プサイ関数
- 上記の関数とともに公式を利用すること
- このドライバーの特性は車間距離と速度の関数で表される。
- 4つのレジスタは、呼び出された関数側が保存する。
- 多くの人間にとって三角関数を学ぶことは無意味であるように思える。
- あのー、先生?黒板に書いてあるの、指数関数じゃなくて三角関数ですけど・・・。
- 【数学】 逆関数.
- その関数は連続微分可能である
- 最適化問題では、我々は最適化されるだろう最適値の関数を導き出す変数の値を求める
- インフレーションは指数関数的に上昇している
- 対数関数的方法で
- 関数または曲線の
- 導関数を計算する
- 数量または関数の逆数の、あるいは、数量または関数の逆数に関する
- 関数の微分係数を求める数学法
- 最大の関数値を見つける数学的方法
固有名詞の分類
PHP | Zip ファイル関数 imagecolorexact Tokenizer 関数 imagexbm rewinddir |
- Tokenizer 関数のページへのリンク