Source of file Alpha.php
Size: 1,422 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/I18n/Filter/Alpha.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\I18n\Filter; use Locale; class Alpha extends Alnum { /** * Defined by Zend\Filter\FilterInterface * * Returns the string $value, removing all but alphabetic characters * * @param string|array $value * @return string|array */ public function filter($value) { if (!is_scalar($value) && !is_array($value)) { return $value; } $whiteSpace = $this->options['allow_white_space'] ? '\s' : ''; $language = Locale::getPrimaryLanguage($this->getLocale()); if (!static::hasPcreUnicodeSupport()) { // POSIX named classes are not supported, use alternative [a-zA-Z] match $pattern = '/[^a-zA-Z' . $whiteSpace . ']/'; } elseif ($language == 'ja' || $language == 'ko' || $language == 'zh') { // Use english alphabet $pattern = '/[^a-zA-Z' . $whiteSpace . ']/u'; } else { // Use native language alphabet $pattern = '/[^\p{L}' . $whiteSpace . ']/u'; } return preg_replace($pattern, '', $value); } } |