我正在创建一个调试/ 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风格的开放和关闭注释标记会更实用。
答案 0 :(得分:1)
我认为最好的方法是使用token_get_all()
。