1: | <?php
|
2: |
|
3: | |
4: | |
5: | |
6: |
|
7: | class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef
|
8: | {
|
9: |
|
10: | |
11: | |
12: | |
13: |
|
14: | protected $ip4;
|
15: |
|
16: | |
17: | |
18: | |
19: | |
20: | |
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: | |
36: | |
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])';
|
41: | $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
|
42: | }
|
43: | }
|
44: |
|
45: |
|
46: | |