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 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
Jak to działa można zobaczyć na demonstracji http://smoku.net/artykuly/zend-filter-phone-demo
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] );
}
}