Passed
Push — main ( 6044d0...c28500 )
by Paul
09:22
created

StringSanitizer   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 5
c 1
b 0
f 0
dl 0
loc 14
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A value() 0 3 1
A kses() 0 5 1
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Sanitizers;
4
5
use GeminiLabs\SiteReviews\Helpers\Cast;
6
7
abstract class StringSanitizer extends AbstractSanitizer
8
{
9
    abstract public function run(): string;
10
11 44
    protected function kses(string $value): string
12
    {
13 44
        $regex = '/on(abort|autocomplete|autocompleteerror|beforeprint|beforeunload|blur|cancel|canplay|canplaythrough|change|click|close|contextmenu|cuechange|dblclick|drag|dragend|dragenter|dragleave|dragover|dragstart|drop|durationchange|emptied|ended|error|focus|hashchange|input|invalid|keydown|keypress|keyup|languagechange|load|loadeddata|loadedmetadata|loadstart|message|mousedown|mouseenter|mouseleave|mousemove|mouseout|mouseover|mouseup|mousewheel|offline|online|pause|play|playing|popstate|progress|ratechange|redo|reset|resize|scroll|seeked|seeking|select|show|sort|stalled|storage|submit|suspend|timeupdate|toggle|undo|unload|volumechange|waiting)\s*=/i';
14 44
        $value = preg_replace($regex, '', $value); // remove all event function attributes
15 44
        return $value;
16
    }
17
18 56
    protected function value(): string
19
    {
20 56
        return trim(Cast::toString($this->value));
21
    }
22
}
23