清除所有评论但留下PHPDoc

时间:2015-07-20 19:12:48

标签: php regex

我正在创建一个调试/ doc脚本,我想忽略所有标准注释,但是让PHPDoc保持原状。

我使用的代码是:

    // Get file into an array line by line
    $line = file($file);

    // Trim all empty space and # or // comments
    array_map(function($v) {
        $v = trim($v);
        $v = preg_split("/\/\/|#/", $v)[0];
        return $v;
    }, $line);

问题在于,这仍然会留下多行C风格的评论,如:

/*
This
means
nothing
*/

所以我相信我必须阅读整个文件,找到每个/*而忽略/**(PHPDoc)并删除所有内容,直到*/

所以正则表达式需要是多行的。我使用file()对解决方案持开放态度,但我认为file_get_content()在单独的行中找到C风格的开放和关闭注释标记会更实用。

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是使用token_get_all()