Я думаю, что вы ищете token_get_all ().
Эта функция использует синтаксический анализатор PHP для разделения исходного кода PHP на токены. Я думаю, можно с уверенностью сказать, что это самый надежный метод анализа PHP-кода - если он пригоден для всего, что вы планируете делать.
Пример из руководства:
$tokens = token_get_all('<?php echo; ?>');
Результаты в
array(
array(T_OPEN_TAG, '<?php'),
array(T_ECHO, 'echo'),
';',
array(T_CLOSE_TAG, '?>')
);