PHPのトークンメモ

文法解析の方のtoken
$source を入力して $code を得る

$source  = クラス文字列化('文書');

$t_start = "T_CLASS"; //T_FUNCTION https://secure.php.net/manual/ja/tokens.php
$start   = false;
$code    = "";
$bracket = 0;

foreach(token_get_all("<?php\n".$source) as $token){
    if(is_array($token)){
        $value = $token[1];
        $token = token_name($token[0]);
    }
    else{
        $value  = $token;
    }
    
    if($token === $t_start){
        $start = true;
    }
    if(!$start){
        continue;
    }
    $code .= $value;
    
    if($token === "{" or $token === "T_CURLY_OPEN" or $token === "T_DOLLAR_OPEN_CURLY_BRACES"){
        $bracket++;
    }
    elseif($token === "}"){
        $bracket--;
        if($bracket === 0){
            break;
        }
    }
}

print $code;
カテゴリー PHP

コメントをどうぞ~