1<?php 2/** 3 * @copyright Copyright (c) 2014 Carsten Brandt 4 * @license https://github.com/cebe/markdown/blob/master/LICENSE 5 * @link https://github.com/cebe/markdown#readme 6 */ 7 8namespace cebe\markdown\inline; 9 10/** 11 * Adds strikeout inline elements 12 */ 13trait StrikeoutTrait 14{ 15 /** 16 * Parses the strikethrough feature. 17 * @marker ~~ 18 */ 19 protected function parseStrike($markdown) 20 { 21 if (preg_match('/^~~(.+?)~~/', $markdown, $matches)) { 22 return [ 23 [ 24 'strike', 25 $this->parseInline($matches[1]) 26 ], 27 strlen($matches[0]) 28 ]; 29 } 30 return [['text', $markdown[0] . $markdown[1]], 2]; 31 } 32 33 protected function renderStrike($block) 34 { 35 return '<del>' . $this->renderAbsy($block[1]) . '</del>'; 36 } 37 38 abstract protected function parseInline($text); 39 abstract protected function renderAbsy($blocks); 40} 41