最好是我想要一个允许我从PHP解析PHP 的解决方案,但欢迎任何解决方案。 (作为我正在寻找的一个例子,Ruby有 - 其中包括ruby_parser
gem。)
修改
我希望从PHP代码生成某种抽象语法树。 (除非我弄错了,否则我完全了解eval
函数的存在和行为。)
将PHP代码解析为某种抽象语法树有哪些选项(如果有的话)?将这些语法树转换回(可读)PHP代码有哪些选择?
答案 0 :(得分:2)
编辑:这个答案是在@pepjin编辑他们的问题并改变了要求之前编写的。有关上下文,请参阅comments。
eval()
从PHP中执行PHP代码。
要分析您自己的微语言等PHP代码,您可以使用PHP Tokenizer。解析器令牌列表:http://www.php.net/manual/en/tokens.php
答案 1 :(得分:2)
标记生成器与解析器不同。标记生成器只生成标记而不是树格式。对于那些实际上想要为PHP生成AST的人,类似于ruby_parser为Ruby所做的那些,请使用PHP-Parser项目(https://github.com/nikic/PHP-Parser)。
PHP-Parser项目还附带了一台漂亮的打印机,可以将AST转回PHP。
答案 2 :(得分:1)
你正在寻找eval的邪恶()我相信。