A fork of potaka/bbcode to handle future maintenance
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
803B

  1. <?php
  2. namespace Knockout\BbCode\Tag;
  3. use Knockout\BbCode\Tokenizer\Tag as TokenTag;
  4. /**
  5. * @author po_taka <angel.koilov@gmail.com>
  6. */
  7. abstract class SimpleTag implements TagInterface
  8. {
  9. public function format(TokenTag $tokenTag) : string
  10. {
  11. $formattedString = "{$this->getOpenHtmlTag()}{$tokenTag->getText()}{$this->getCloseHtmlTag()}";
  12. return $formattedString;
  13. }
  14. abstract public function getTag() : string;
  15. public function getName() : string
  16. {
  17. return $this->getTag();
  18. }
  19. public function getOriginalText(TokenTag $tokenTag) : string
  20. {
  21. return "[{$this->getTag()}]{$tokenTag->getText()}[/{$this->getTag()}]";
  22. }
  23. abstract public function getOpenHtmlTag() : string;
  24. abstract public function getCloseHtmlTag() : string;
  25. }