configurator->tags[$this->tagName])) return; $tag = $this->configurator->tags->add($this->tagName); $filter = $this->configurator->attributeFilters->get('#url'); $tag->attributes->add($this->attrName)->filterChain->append($filter); $tag->template = ''; } public function asConfig() { $config = [ 'attrName' => $this->attrName, 'regexp' => $this->getRegexp(), 'tagName' => $this->tagName ]; if (!$this->matchWww) $config['quickMatch'] = '://'; return $config; } protected function getRegexp() { $anchor = RegexpBuilder::fromList($this->configurator->urlConfig->getAllowedSchemes()) . '://'; if ($this->matchWww) $anchor = '(?:' . $anchor . '|www\\.)'; $regexp = '#\\b' . $anchor . '\\S(?>[^\\s()\\[\\]\\x{FF01}-\\x{FF0F}\\x{FF1A}-\\x{FF20}\\x{FF3B}-\\x{FF40}\\x{FF5B}-\\x{FF65}]|\\([^\\s()]*\\)|\\[\\w*\\])++#Siu'; return $regexp; } }