从PHP文件的注释中获取信息


PHP - get information form comments in php files

请告诉我一个简单有效的方式来阅读或获取信息(无论它是什么?)在php文件中的评论,而我知道wordpress使用这个功能。

比如我有一个名为theme的文件夹里面有三个带有注释的文件:

第一个文件

/* Template Name: page */

在第二个文件

/* Template Name: category */ 

第三个文件

/* Template Name: Tags */

那么如何在数组中得到page, category, tags呢?请给出解决方案

感谢您的宝贵时间

要删除php文件,可以这样做:

$str = file_get_contents("/path/to/file1");

比你完整的PHP文件代码在那里,你将需要使用一些正则表达式来获得注释内容


例子:

让我们假设$str有你的php源代码,正则表达式可能像这样:

$str = "/* Template Name: page */'n bla bla blah";
preg_match( "#/'* Template Name: ('w*) '*/#", $str, $m);
var_dump( $m );

之前的代码输出:

array(2) {
  [0]=>
  string(25) "/* Template Name: page */"
  [1]=>
  string(4) "page"
}

您需要的内容存储在$m[1]

$source = file_get_contents($filename);
$tokens = token_get_all($source);
foreach($tokens as $token){
    if( ($token[0] == T_COMMENT || $token[0] == T_DOC_COMMENT)
       && preg_match('/Template Name: (.*)/',$token[1],$match){
       echo "Template name is ".$match[1];
    }
}