2009-11-18

Zend_Filter_Phone

Outline

Netizen Labs Raz na jakiś czas człowiek (czytaj developer) obsługuje formularz w którym użytkownik podaje numer telefonu. Użytkownicy oczywiście nigdy nie podają go we właściwym formacie nawet gdy koło pola widnieje przykład. Dlatego to co użytkownik wpisze trzeba filtrować. Tym którzy piszą w Zend Framework przychodzi mały filtr.

Jak używać?

Jak każdego filtra w Zend Framework-u :)

$phoneFilter = new Zend_Filter_Phone();
echo $phoneFilter->filter('+5-55 555 555a (Person)'); // +555555555
echo $phoneFilter->filter('+555-555-55 '); // +55555555
echo $phoneFilter->filter('+5555abcd55555'); // +555555555

Demonstracja

Jak to działa można zobaczyć na demonstracji http://smoku.net/artykuly/zend-filter-phone-demo

Kod

require_once 'Zend/Filter/Interface.php';

/**
 * filtruje numer telefonu
 *
 */
class Zend_Filter_Phone implements Zend_Filter_Interface
{
    public function filter($value)
    {
        preg_match_all('/\+?[0-9]+/',$value, $mached);
        return implode( '' , $mached[0] );
    }
}