diff --git a/src/ChrisKonnertz/BBCode/BBCode.php b/src/ChrisKonnertz/BBCode/BBCode.php index 975d007..e9983bb 100644 --- a/src/ChrisKonnertz/BBCode/BBCode.php +++ b/src/ChrisKonnertz/BBCode/BBCode.php @@ -290,6 +290,12 @@ protected function generateTag(Tag $tag, &$html, Tag $openingTag = null, array $ return $code; } + if ($tag->name && isset($this->customTagClosures[$tag->name])) { + $closure = $this->customTagClosures[$tag->name]; + + return $closure($tag, $html, $openingTag); + } + switch ($tag->name) { case self::TAG_NAME_B: if ($tag->opening) { @@ -502,13 +508,6 @@ protected function generateTag(Tag $tag, &$html, Tag $openingTag = null, array $ $code = ''; } break; - default: - // Custom tags: - foreach ($this->customTagClosures as $name => $closure) { - if ($tag->name === $name) { - $code .= $closure($tag, $html, $openingTag); - } - } } return $code;