CodeTrait::renderInlineCode()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
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\markdown\inline;
9
10
/**
11
 * Adds inline code elements
12
 */
13
trait CodeTrait
14
{
15
	/**
16
	 * Parses an inline code span `` ` ``.
17
	 * @marker `
18
	 */
19 32
	protected function parseInlineCode($text)
20
	{
21 32 View Code Duplication
		if (preg_match('/^(``+)\s(.+?)\s\1/s', $text, $matches)) { // code with enclosed backtick
22
			return [
23
				[
24 9
					'inlineCode',
25 9
					$matches[2],
26
				],
27 9
				strlen($matches[0])
28
			];
29 32
		} elseif (preg_match('/^`(.+?)`/s', $text, $matches)) {
30
			return [
31
				[
32 32
					'inlineCode',
33 32
					$matches[1],
34
				],
35 32
				strlen($matches[0])
36
			];
37
		}
38 4
		return [['text', $text[0]], 1];
39
	}
40
41 32
	protected function renderInlineCode($block)
42
	{
43 32
		return '<code>' . htmlspecialchars($block[1], ENT_NOQUOTES | ENT_SUBSTITUTE, 'UTF-8') . '</code>';
44
	}
45
}
46