У меня есть следующий код для создания немного Doxygen, как
public function parserAction () {
$code = file_get_contents('/www/htdocs/rumpho/application/controllers/parserStr.php');
preg_match_all ( '/(private|public)?\s*function\s*(.*?)\s*\((.*?)\)\s*{(?:\n|\t|$)*(?:\/\*\*((?:\n|.|\t)*?)\*\/)?/msi', $code, $matches );
var_dump( $matches );
die;
}
он работает, когда окончания строк parserStr.php кодируются с помощью unix, но не работает, если окончания строк кодируются с помощью Windows или MacOS9.
Идеи?
Спасибо
Специальный символ, который вы хотите \R
это соответствует \n
или же \r
или же \r\n
, Вы regex затем становится:
preg_match_all ( '/(private|public)?\s*function\s*(.*?)\s*\((.*?)\)\s*{(?:\R|\t|$)*(?:\/\*\*((?:\R|.|\t)*?)\*\/)?/msi', $code, $matches );
// here __^^ and __^^
Других решений пока нет …