阅读PHP格式的文件注释,而不是文件内容-忘记

2022-03-15 00:00:00 comments php

我需要读取PHP文件中注释的第一批&q;。例如:

<?php
/** This is some basic file info **/
?>
<?php This is the "file" proper" ?>

我需要读取另一个文件中的第一个注释,但是如何将/** This is some basic file info **/作为字符串获取?


解决方案

有一个token_get_all($code)函数可用于此操作,它比您想象的更可靠。

以下是从文件中获取所有注释的一些示例代码(未经测试,但应该足以让您入门):

<?php

    $source = file_get_contents( "file.php" );

    $tokens = token_get_all( $source );
    $comment = array(
        T_COMMENT,      // All comments since PHP5
        T_ML_COMMENT,   // Multiline comments PHP4 only
        T_DOC_COMMENT   // PHPDoc comments      
    );
    foreach( $tokens as $token ) {
        if( !in_array($token[0], $comment) )
            continue;
        // Do something with the comment
        $txt = $token[1];
    }

?>

相关文章