diff options
author | Nicolas LÅ“uillet <nicolas.loeuillet@gmail.com> | 2014-02-21 15:43:14 +0100 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas.loeuillet@gmail.com> | 2014-02-21 15:43:14 +0100 |
commit | d4949327efa15b492cab1bef3fe074290a328a17 (patch) | |
tree | e89e0322bb1f1b06d663fd10fdded21bac867e5d /inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php | |
parent | c9bd17a1007bb78e5de0775efca01df0fb515031 (diff) | |
download | wallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.gz wallabag-d4949327efa15b492cab1bef3fe074290a328a17.tar.zst wallabag-d4949327efa15b492cab1bef3fe074290a328a17.zip |
[add] HTML Purifier added to clean code
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php new file mode 100644 index 00000000..bbc8a77e --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/URI/IPv4.php | |||
@@ -0,0 +1,45 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * Validates an IPv4 address | ||
5 | * @author Feyd @ forums.devnetwork.net (public domain) | ||
6 | */ | ||
7 | class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef | ||
8 | { | ||
9 | |||
10 | /** | ||
11 | * IPv4 regex, protected so that IPv6 can reuse it. | ||
12 | * @type string | ||
13 | */ | ||
14 | protected $ip4; | ||
15 | |||
16 | /** | ||
17 | * @param string $aIP | ||
18 | * @param HTMLPurifier_Config $config | ||
19 | * @param HTMLPurifier_Context $context | ||
20 | * @return bool|string | ||
21 | */ | ||
22 | public function validate($aIP, $config, $context) | ||
23 | { | ||
24 | if (!$this->ip4) { | ||
25 | $this->_loadRegex(); | ||
26 | } | ||
27 | |||
28 | if (preg_match('#^' . $this->ip4 . '$#s', $aIP)) { | ||
29 | return $aIP; | ||
30 | } | ||
31 | return false; | ||
32 | } | ||
33 | |||
34 | /** | ||
35 | * Lazy load function to prevent regex from being stuffed in | ||
36 | * cache. | ||
37 | */ | ||
38 | protected function _loadRegex() | ||
39 | { | ||
40 | $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])'; // 0-255 | ||
41 | $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})"; | ||
42 | } | ||
43 | } | ||
44 | |||
45 | // vim: et sw=4 sts=4 | ||