Restores future support for annotations

In #89 the regex to parse tags was to strict. The first character after a tag
had to be a single string. Annotations typically start with a parentheses. Only character not
allowed after a tag is a [.
This commit is contained in:
Jaapio
2017-08-04 22:55:59 +02:00
committed by Jaap van Otterdijk
parent 48d3720bf4
commit 183824db76
2 changed files with 42 additions and 1 deletions
+7 -1
View File
@@ -113,6 +113,12 @@ final class StandardTagFactory implements TagFactory
list($tagName, $tagBody) = $this->extractTagParts($tagLine);
if ($tagBody[0] === '[') {
throw new \InvalidArgumentException(
'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
);
}
return $this->createTag($tagBody, $tagName, $context);
}
@@ -161,7 +167,7 @@ final class StandardTagFactory implements TagFactory
private function extractTagParts($tagLine)
{
$matches = array();
if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s+([^\s].*)|$)/us', $tagLine, $matches)) {
if (! preg_match('/^@(' . self::REGEX_TAGNAME . ')(?:\s*([^\s].*)|$)/us', $tagLine, $matches)) {
throw new \InvalidArgumentException(
'The tag "' . $tagLine . '" does not seem to be wellformed, please check it for errors'
);