Tokenizer
PHP Manual

Przykłady

Poniżej zamieszczony jest prosty przykład skryptu PHP, który używa tokenizera. Skrypt wczytuje plik PHP, usuwa wszystkie komentarze z kodu źródłowego i wyświetla sam czysty kod.

Przykład #1 Usuwanie komentarzy za pomocą tokenizera

<?php
  
/* T_ML_COMMENT nie istnieje w PHP 5.
   * Następujące trzy linie definiują tę stałą, by zachować kompatybilność
   * wsteczną.
   *
   * Kolejne dwie linie definiują istniejącą tylko w PHP 5 stałą
   * T_DOC_COMMENT, którą w PHP 4 podmienimy jako T_ML_COMMENT.
   */
  
if (!defined('T_ML_COMMENT')) {
    
define('T_ML_COMMENT', T_COMMENT);
  } else {
    
define('T_DOC_COMMENT', T_ML_COMMENT);
  }

  
$kod = file_get_contents("jakisplik.php");
  
$tokeny = token_get_all($kod);

  foreach (
$tokeny as $token) {
    if (
is_string($token)) {
      
// prosty token jednoznakowy
      
echo $token;
    } else {
      
// tablica definiująca token
      
list($id, $tekst) = $token;

      switch (
$id) {
        case 
T_COMMENT:
        case 
T_ML_COMMENT: // to zdefiniowaliśmy
        
case T_DOC_COMMENT: // to też
          // brak akcji dla komentarzy
          
break;
        default:
          
// wszystko inne -> wyświetl "takie, jakie jest"
          
echo $tekst;
          break;
      }
    }
  }
?>

Tokenizer
PHP Manual