1: <?php
2:
3: 4: 5: 6:
7: class HTMLPurifier_AttrDef_URI_IPv4 extends HTMLPurifier_AttrDef
8: {
9:
10: 11: 12:
13: protected $ip4;
14:
15: public function validate($aIP, $config, $context) {
16:
17: if (!$this->ip4) $this->_loadRegex();
18:
19: if (preg_match('#^' . $this->ip4 . '$#s', $aIP))
20: {
21: return $aIP;
22: }
23:
24: return false;
25:
26: }
27:
28: 29: 30: 31:
32: protected function _loadRegex() {
33: $oct = '(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])';
34: $this->ip4 = "(?:{$oct}\\.{$oct}\\.{$oct}\\.{$oct})";
35: }
36:
37: }
38:
39:
40: