Passed
Push — master ( af3dcf...3709c1 )
by Petr
02:16
created

TEscape   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 8
c 0
b 0
f 0
dl 0
loc 18
ccs 4
cts 4
cp 1
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A escapeNl() 0 3 1
A restoreNl() 0 3 1
1
<?php
2
3
namespace kalanis\kw_menu\Traits;
4
5
6
/**
7
 * Trait TEscape
8
 * @package kalanis\kw_menu\Traits
9
 * Escape special characters in classical meta files
10
 */
11
trait TEscape
12
{
13
    /** @var array<string, string> */
14
    protected static $escapeNlTr = [
15
        '|' => '---!!::SEP::!!---',
16
        "\r\n" => '---!!::CRLF::!!---',
17
        "\r" => '---!!::CR::!!---',
18
        "\n" => '---!!::NL::!!---',
19
    ];
20
21 9
    protected function escapeNl(string $str): string
22
    {
23 9
        return strtr($str, static::$escapeNlTr);
24
    }
25
26 9
    protected function restoreNl(string $str): string
27
    {
28 9
        return strtr($str, array_flip(static::$escapeNlTr));
29
    }
30
}
31