我想在codeigniter中使用php tokenizer从php文件中读取注释文本。
PHP文件
<?php
//example of php tokenizer
//@module core
//@author VR
?>
如何在变量中获取模块或作者姓名。 感谢。
答案 0 :(得分:0)
您可以使用token_get_all()和T_COMMENT常量实现此目的,而不是只需要解析module
和author
。
因此,考虑到要解析的示例文件内容,您可以这样做:
<?php
$source = file_get_contents('/path/to/file.php');
$tokens = token_get_all($source);
$result = [];
foreach ($tokens as $token) {
if ($token[0] === T_COMMENT) {
$token[1] = trim($token[1], '/ ');
if (in_array(substr($token[1], 0, 7), ['@module', '@author'])) {
$result[substr($token[1], 1, 6)] = trim(substr($token[1], 7));
}
}
}
print_r($result);
/*
Array
(
[module] => core
[author] => VR
)
*/