1: <?php
2:
3: /**
4: * Jyxo PHP Library
5: *
6: * LICENSE
7: *
8: * This source file is subject to the new BSD license that is bundled
9: * with this package in the file license.txt.
10: * It is also available through the world-wide-web at this URL:
11: * https://github.com/jyxo/php/blob/master/license.txt
12: */
13:
14: namespace Jyxo\Input\Filter;
15:
16: /**
17: * Filters phone numbers. Removes spaces and adds the pre-dial where possible.
18: *
19: * @category Jyxo
20: * @package Jyxo\Input
21: * @subpackage Filter
22: * @copyright Copyright (c) 2005-2011 Jyxo, s.r.o.
23: * @license https://github.com/jyxo/php/blob/master/license.txt
24: * @author Jakub Tománek
25: */
26: class Phone extends \Jyxo\Input\Filter\AbstractFilter
27: {
28: /**
29: * Filters a value.
30: *
31: * @param mixed $value Input value
32: * @return mixed
33: */
34: protected function filterValue($value)
35: {
36: // Removes spaces
37: $value = preg_replace('~\s+~', '', (string) $value);
38:
39: // Adds the Czech pre-dial where possible
40: if (preg_match('~^[2-79]\d{8}$~', $value)) {
41: $value = '+420' . $value;
42: }
43:
44: return $value;
45: }
46: }
47: