Restore [url] and [url=] bbcodes.

This commit is contained in:
flash 2019-01-02 23:23:18 +01:00
parent b4d621df4f
commit b9afcd27ad
3 changed files with 38 additions and 0 deletions

View file

@ -35,6 +35,10 @@ class BBCodeParser implements ParserInterface
new Tags\StrikeTag, new Tags\StrikeTag,
new Tags\ImageTag, new Tags\ImageTag,
// Links
new Tags\NamedUrlTag,
new Tags\UrlTag,
// Finally parse leftover newlines // Finally parse leftover newlines
new Tags\NewLineTag, new Tags\NewLineTag,
]; ];

View file

@ -0,0 +1,17 @@
<?php
namespace Misuzu\Parsers\BBCode\Tags;
use Misuzu\Parsers\BBCode\BBCodeSimpleTag;
final class NamedUrlTag extends BBCodeSimpleTag
{
public function getPattern(): string
{
return "/\[url\=(.*?)\](.*?)\[\/url\]/s";
}
public function getReplacement(): string
{
return '<a href="$1" class="link" target="_blank" rel="noreferrer noopener">$2</a>';
}
}

View file

@ -0,0 +1,17 @@
<?php
namespace Misuzu\Parsers\BBCode\Tags;
use Misuzu\Parsers\BBCode\BBCodeSimpleTag;
final class UrlTag extends BBCodeSimpleTag
{
public function getPattern(): string
{
return "/\[url\](.*?)\[\/url\]/s";
}
public function getReplacement(): string
{
return '<a href="$1" class="link" target="_blank" rel="noreferrer noopener">$1</a>';
}
}