Parsing and Printing PHP Code

后端 未结 3 1289
南旧
南旧 2021-01-22 05:44

Preferably I\'d like a solution which allows me to parse PHP from PHP, but any solution is welcome. (As an example of what I\'m looking for, Ruby has the - amongst othe

相关标签:
3条回答
  • 2021-01-22 06:33

    You are looking for the evil of eval() I believe.

    http://php.net/manual/es/function.eval.php

    0 讨论(0)
  • 2021-01-22 06:35

    Edit: this answer was written before @pepjin edited their question and changed the requirements. See comments for context.


    eval() to execute PHP code from within PHP.

    To analyse PHP code for your own micro language etc you can use the PHP Tokenizer. List of parser tokens: http://www.php.net/manual/en/tokens.php

    0 讨论(0)
  • 2021-01-22 06:42

    A tokenizer is not the same as a parser. The tokenizer just produces tokens and not in a tree format. For those who are actually looking to produce an AST for PHP similar to what ruby_parser does for Ruby, use the PHP-Parser project (https://github.com/nikic/PHP-Parser).

    The PHP-Parser project also comes with a pretty printer that turns your AST back to PHP.

    0 讨论(0)
提交回复
热议问题