2016-09-08 48 views
0

如何使用PHP在樹枝文件中閱讀註釋?PHP如何從樹枝文件讀取評論?

test.twig:

{# Holy cow Twig is awesome! #} 

PHP:

$tokens = token_get_all(file_get_contents("test.twig")); 
$comments = array(); 
foreach($tokens as $token) { 
    if($token[0] == T_COMMENT || $token[0] == T_DOC_COMMENT) { 
     $comments[] = $token[1]; 
    } 
} 
print_r($comments); 

結果:

Array () 

任何想法?

+3

不支持'{#'和'#}'這個函數的標記。要麼你需要使用一些其他庫(如果存在)或編寫自己的函數。解析器標記列表:http://php.net/manual/en/tokens.php – walther

+0

您需要了解[如何刪除註釋](https://github.com/twigphp/Twig/blob/f0a4fa678465491947554f6687c5fca5e482f8ec/lib /Twig/Lexer.php#L18)。 –

回答

1

爲什麼不使用正則表達式?

$txt = file_get_contents("test.twig"); 
if (preg_match_all ("/{#([^}]*)#}/", $txt, $matches)) 
    print_r($matches[1]); 
+1

感謝您的答案。 – laukok