PluginProbe
DecaLog / 4.4.0
DecaLog v4.4.0
3.0.2 3.1.0 3.10.0 3.2.0 3.3.0 3.4.0 3.4.1 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.7.0 3.7.1 3.8.0 3.9.0 3.9.1 4.0.0 4.1.0 4.2.0 4.3.0 4.3.1 4.4.0 4.5.0 All 75 releases
decalog / includes / libraries / markdown / inline / CodeTrait.php

CodeTrait.php in DecaLog 4.4.0, at includes/libraries/markdown/inline/CodeTrait.php

46 lines 911 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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
8 namespace cebe\markdownparser\inline;
9
10 /**
11 * Adds inline code elements
12 */
13 trait CodeTrait
14 {
15 /**
16 * Parses an inline code span `` ` ``.
17 * @marker `
18 */
19 protected function parseInlineCode($text)
20 {
21 if (preg_match('/^(``+)\s(.+?)\s\1/s', $text, $matches)) { // code with enclosed backtick
22 return [
23 [
24 'inlineCode',
25 $matches[2],
26 ],
27 strlen($matches[0])
28 ];
29 } elseif (preg_match('/^`(.+?)`/s', $text, $matches)) {
30 return [
31 [
32 'inlineCode',
33 $matches[1],
34 ],
35 strlen($matches[0])
36 ];
37 }
38 return [['text', $text[0]], 1];
39 }
40
41 protected function renderInlineCode($block)
42 {
43 return '<code>' . htmlspecialchars($block[1], ENT_NOQUOTES | ENT_SUBSTITUTE, 'UTF-8') . '</code>';
44 }
45 }
46