Whoops, forgot to edit WHATSNEW
[htmlpurifier/darkodev.git] / library / HTMLPurifier / URIScheme / tel.php
blob8cd1933527bdd2c2200a644cfe8794d6570f9fc8
1 <?php
3 /**
4 * Validates tel (for phone numbers).
6 * The relevant specifications for this protocol are RFC 3966 and RFC 5341,
7 * but this class takes a much simpler approach: we normalize phone
8 * numbers so that they only include (possibly) a leading plus,
9 * and then any number of digits and x'es.
12 class HTMLPurifier_URIScheme_tel extends HTMLPurifier_URIScheme
14 /**
15 * @type bool
17 public $browsable = false;
19 /**
20 * @type bool
22 public $may_omit_host = true;
24 /**
25 * @param HTMLPurifier_URI $uri
26 * @param HTMLPurifier_Config $config
27 * @param HTMLPurifier_Context $context
28 * @return bool
30 public function doValidate(&$uri, $config, $context)
32 $uri->userinfo = null;
33 $uri->host = null;
34 $uri->port = null;
36 // Delete all non-numeric characters, non-x characters
37 // from phone number, EXCEPT for a leading plus sign.
38 $uri->path = preg_replace('/(?!^\+)[^\dx]/', '',
39 // Normalize e(x)tension to lower-case
40 str_replace('X', 'x', $uri->path));
42 return true;
46 // vim: et sw=4 sts=4