2009-08-15 PHP token_get_all() が便利 PHP のシェルが欲しくなった。 Ruby の irb や、Python の IPython のようなもの。 複数行をどう扱うか 単に1行ずつ拾って eval したんじゃ複数行が扱えない。 複数行にするために特殊な入力(例えば、最後に \ を入れるとか)はさせたくない。 つまり構文解析して、実行可能な状態になっている場合だけ実行したい。 token_get_all() PHP 標準関数に正に欲しいものがあった。 <?php $s = "<?php echo 1; ?>"; $tokens = token_get_all($s); print_r($tokens); ?> 参考 PHP: token_get_all - Manual