Restore [url] and [url=] bbcodes.
This commit is contained in:
parent
b4d621df4f
commit
b9afcd27ad
3 changed files with 38 additions and 0 deletions
|
@ -35,6 +35,10 @@ class BBCodeParser implements ParserInterface
|
|||
new Tags\StrikeTag,
|
||||
new Tags\ImageTag,
|
||||
|
||||
// Links
|
||||
new Tags\NamedUrlTag,
|
||||
new Tags\UrlTag,
|
||||
|
||||
// Finally parse leftover newlines
|
||||
new Tags\NewLineTag,
|
||||
];
|
||||
|
|
17
src/Parsers/BBCode/Tags/NamedUrlTag.php
Normal file
17
src/Parsers/BBCode/Tags/NamedUrlTag.php
Normal 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>';
|
||||
}
|
||||
}
|
17
src/Parsers/BBCode/Tags/UrlTag.php
Normal file
17
src/Parsers/BBCode/Tags/UrlTag.php
Normal 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>';
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue