2016-09-08 2 views
0

Wie kann ich Kommentare in Zweigdateien mit PHP lesen?PHP Wie liest man Kommentare aus einer Zweigdatei?

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); 

Ergebnis:

Array () 

Irgendwelche Ideen?

+3

'{#' und '#}' werden Tokens für diese Funktion nicht unterstützt. Entweder müssen Sie eine andere Bibliothek verwenden (falls vorhanden) oder eine eigene Funktion schreiben. Liste der Parser-Token: http://php.net/manual/en/tokens.php – walther

+0

Sie müssen verstehen, [wie Zweig löscht Kommentare] (https://github.com/twigphp/Twig/blob/f0a4fa678465491947554f6687c5fca5e482f8ec/lib /Twig/Lexer.php#L18). –

Antwort

1

warum nicht regex verwenden?

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

danke für die Antwort. – laukok

Verwandte Themen