A small library for converting tokenized PHP source code into XML.
You can add this library as a local, per-project dependency to your project using Composer:
composer require theseer/tokenizer If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev theseer/tokenizer $tokenizer = newTheSeer\Tokenizer\Tokenizer(); $tokens = $tokenizer->parse(file_get_contents(__DIR__ . '/src/XMLSerializer.php')); $serializer = newTheSeer\Tokenizer\XMLSerializer(); $xml = $serializer->toXML($tokens); echo$xml;The generated XML structure looks something like this:
<?xml version="1.0"?> <sourcexmlns="https://github.com/theseer/tokenizer"> <lineno="1"> <tokenname="T_OPEN_TAG"><?php </token> <tokenname="T_DECLARE">declare</token> <tokenname="T_OPEN_BRACKET">(</token> <tokenname="T_STRING">strict_types</token> <tokenname="T_WHITESPACE"> </token> <tokenname="T_EQUAL">=</token> <tokenname="T_WHITESPACE"> </token> <tokenname="T_LNUMBER">1</token> <tokenname="T_CLOSE_BRACKET">)</token> <tokenname="T_SEMICOLON"></token> </line> </source>