首页  >  文章  >  后端开发  >  如何在不影响语法的情况下有效地从 PHP 代码中删除注释?

如何在不影响语法的情况下有效地从 PHP 代码中删除注释?

Linda Hamilton
Linda Hamilton原创
2024-10-23 10:57:37250浏览

How to Efficiently Remove Comments from PHP Code without Compromising Syntax?

在不影响语法的情况下高效删除 PHP 代码注释

为了有效删除 PHP 代码中的注释,同时保留嵌入的 HTML,token_get_all() 提供了可靠的解决方案。下面是一个示例实现:

<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>

此解决方案假定 PHP 4 和 5 兼容。它迭代代码标记,跳过任何属于注释类型的内容(包括标准注释、文档注释和 PHP 4 样式多行注释),确保保留嵌入的 HTML。生成的 $newStr 包含修改后的代码,没有注释。

以上是如何在不影响语法的情况下有效地从 PHP 代码中删除注释?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn