public static function comment($comment) {
		$text = null;
		$tags = [];
		$description = null;
		$comment = trim(preg_replace('/^(\s*\/\*\*|\s*\*{1,2}\/|\s*\* ?)/m', '', $comment));
		$comment = str_replace("\r\n", "\n", $comment);

		if ($items = preg_split('/\n@/ms', $comment, 2)) {
			list($description, $tags) = $items + ['', ''];
			$tags = $tags ? static::tags("@{$tags}") : [];
		}

		if (strpos($description, "\n\n")) {
			list($description, $text) = explode("\n\n", $description, 2);
		}
		$text = trim($text);
		$description = trim($description);
		return compact('description', 'text', 'tags');
	}
public static function comment($comment) {
		$text = null;
		$tags = [];
		$description = null;
		$comment = trim(preg_replace('/^(\s*\/\*\*|\s*\*{1,2}\/|\s*\* ?)/m', '', $comment));
		$comment = str_replace("\r\n", "\n", $comment);

		if ($items = preg_split('/\n@/ms', $comment, 2)) {
			list($description, $tags) = $items + ['', ''];
			$tags = $tags ? static::tags("@{$tags}") : [];
		}

		if (strpos($description, "\n\n")) {
			list($description, $text) = explode("\n\n", $description, 2);
		}
		$text = trim($text);
		$description = trim($description);
		return compact('description', 'text', 'tags');
	}
public static function comment ( $ comment ) { $ text = null ; $ tags = [ ] ; $ description = null ; $ comment = trim ( preg_replace ( '/^(\s*\/\*\*|\s*\*{1,2}\/|\s*\* ?)/m' , '' , $ comment ) ) ; $ comment = str_replace ( "\r\n" , "\n" , $ comment ) ; if ( $ items = preg_split ( '/\n@/ms' , $ comment , 2 ) ) { list ( $ description , $ tags ) = $ items + [ '' , '' ] ; $ tags = $ tags ? static :: tags ( "@{$tags}" ) : [ ] ; } if ( strpos ( $ description , "\n\n" ) ) { list ( $ description , $ text ) = explode ( "\n\n" , $ description , 2 ) ; } $ text = trim ( $ text ) ; $ description = trim ( $ description ) ; return compact ( 'description' , 'text' , 'tags' ) ; }
Parses a doc block into its major components of `description`, `text` and `tags`.

@param string $comment The doc block string to be parsed
@return array An associative array of the parsed comment, whose keys are `description`,
`text` and `tags`.
Parses a doc block into its major components of description text and tags .