canyin-project/ybcy/vendor/cebe/markdown/inline/StrikeoutTrait.php

41 lines
824 B
PHP
Raw Normal View History

2024-11-01 16:07:54 +08:00
<?php
/**
* @copyright Copyright (c) 2014 Carsten Brandt
* @license https://github.com/cebe/markdown/blob/master/LICENSE
* @link https://github.com/cebe/markdown#readme
*/
namespace cebe\markdown\inline;
/**
* Adds strikeout inline elements
*/
trait StrikeoutTrait
{
/**
* Parses the strikethrough feature.
* @marker ~~
*/
protected function parseStrike($markdown)
{
if (preg_match('/^~~(.+?)~~/', $markdown, $matches)) {
return [
[
'strike',
$this->parseInline($matches[1])
],
strlen($matches[0])
];
}
return [['text', $markdown[0] . $markdown[1]], 2];
}
protected function renderStrike($block)
{
return '<del>' . $this->renderAbsy($block[1]) . '</del>';
}
abstract protected function parseInline($text);
abstract protected function renderAbsy($blocks);
}