- var_dump: documentation ( source)
- preg_match_all: documentation ( source)
<?php
$regex = <<<REGEX
/
(?:\A|\n)\s*
(?:
(?:(@[\pL-_\]+))|
(?:
(@[\pL-_]+)
)
\ +
(?s:(.*?))
)
(?=\n\s*@|\Z)
/ux
REGEX;
$comment = <<<COMMENT
@ORM\Type(name="")
@see MyTag this is a @description
that spans multiple lines
@internal
@author Mike van Riel <me@mikevanriel.com>
COMMENT;
var_dump(preg_match_all($regex, $comment, $matches, PREG_SET_ORDER));
var_dump($matches);