Maison  >  Article  >  développement back-end  >  Comment supprimer efficacement les commentaires du code PHP à l'aide d'un tokenizer ?

Comment supprimer efficacement les commentaires du code PHP à l'aide d'un tokenizer ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-23 10:54:02893parcourir

How to Efficiently Remove Comments from PHP Code Using a Tokenizer?

Supprimer efficacement les commentaires du code PHP

L'automatisation de la suppression des commentaires du code PHP peut être une pratique précieuse pour la simplification et la clarté du code. Une méthode efficace pour y parvenir consiste à utiliser un tokenizer.

Pour supprimer efficacement les commentaires tout en préservant les sauts de ligne et le code HTML intégré, envisagez la solution suivante :

<code class="php"><?php
$fileStr = file_get_contents('path/to/file');
$newStr  = '';

$commentTokens = array(T_COMMENT);

if (defined('T_DOC_COMMENT')) {
    $commentTokens[] = T_DOC_COMMENT; // PHP 5
}

if (defined('T_ML_COMMENT')) {
    $commentTokens[] = T_ML_COMMENT;  // PHP 4
}

$tokens = token_get_all($fileStr);

foreach ($tokens as $token) {
    if (is_array($token)) {
        if (in_array($token[0], $commentTokens)) {
            continue;
        }
        $token = $token[1];
    }
    $newStr .= $token;
}
echo $newStr;</code>

Comment Ça marche :

  1. Ouvrez le fichier PHP cible et lisez son contenu.
  2. Définissez une chaîne vide $newStr pour contenir le contenu supprimé.
  3. Créez un tableau $commentTokens pour identifier les types de jetons de commentaire.
  4. Utilisez token_get_all() pour décomposer le code d'origine en jetons.
  5. Parcourez chaque jeton. S'il ne s'agit pas d'un jeton de commentaire, ajoutez-le à $newStr.
  6. Sortez la chaîne modifiée avec les commentaires supprimés, en préservant les sauts de ligne et le HTML intégré.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn