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

Mary-Kate Olsen
Libérer: 2024-10-23 10:54:02
original
891 Les gens l'ont consulté

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!