Intereting Posts
Проблема времени сеанса PHP Couchbase PHP SDK: Как обнаружить отказ couchbase-соединения? CakePHP: как обновлять несколько записей одновременно с помощью помощника формы перенаправить пользователя после нажатия ссылки на процесс sql? Проблемы с отправкой результатов из pdo в ajax В чем разница между «isset ()» и «! Empty ()» в PHP? Как убедиться, что дескриптор файла был закрыт перед следующей операцией? Пунктуация полосы пропускания PHP Соответствие для нечувствительной к регистру точной фразы с пробелами PHP вычисляет количество дней между двумя датами Этого достаточно для безопасного сайта? (4 небольшие функции) Обновление многих операторов SQL в PHP-коде Что такое стандартная / лучшая практика для создания модульных тестов для функциональности с использованием баз данных? Строгие стандарты: только переменные должны назначаться по ссылке PHP 5.4 Laravel 5.3 Создание возвращаемых моделей «Поле не имеет значения по умолчанию»

PHP читает комментарии к файлам НЕ содержимое файла – забыли

Извините, что люди забыли это, мне нужно прочитать первую «партию» комментария в примере php-файла:

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

Мне нужно прочитать первый комментарий внутри другого файла, но я полностью забыл, как получить / ** Это базовая информация о файле ** / в виде строки Извините, но спасибо в adavance

Существует 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) ) break; // Do something with the comment $txt = $token[1]; } ?> 

Я думаю, вы также можете попробовать это.

 /** * Return first doc comment found in this file. * * @return string */ function getFileCommentBlock($file_name) { $Comments = array_filter( token_get_all( file_get_contents( $file_name ) ),function($entry) { return $entry[0] == T_DOC_COMMENT; } ); $fileComment = array_shift( $Comments ); return $fileComment[1]; } 

Использовать это:

 preg_match("/\/\*\*(.*?)\*\*\//", $file, $match); $info = $match[1]; 

Это то, что вы имеете в виду?

 $file_contents = '/** sd asdsa das sa das sa a ad**/'; preg_match('#/\*\*(.*)\*\*/#s', $file_contents, $matches); var_dump($matches); 
 function find_between($from,$to,$string){ $cstring = strstr($string, $from); $newstring = substr(substr($cstring,0,strpos($cstring,$to)),1); return $newstring; } 

затем просто вызовите: $comments = find_between('/\*\*','\*\*/',$myfileline);