Example #1
0
 /**
  * Defined by FilterInterface
  *
  * @param  string $value
  * @return string
  */
 public function filter($value)
 {
     $transliteration = new Transliteration();
     $value = $transliteration->filter($value);
     $value = mb_strtolower($value);
     $value = strtr($value, $this->replaces);
     $value = trim($value, '_-');
     $value = preg_replace('|[^A-Za-z0-9.(){}_-]|isu', '_', $value);
     do {
         $oldLength = strlen($value);
         $value = str_replace('__', '_', $value);
     } while ($oldLength != strlen($value));
     if (strlen($value) == 0) {
         $value = '_';
     }
     switch ($value) {
         case '..':
             $value = '__';
             break;
         case '.':
             $value = '_';
             break;
     }
     return $value;
 }
Example #2
0
 /**
  * @dataProvider correctProvider
  */
 public function testCorrect($text, $pattern)
 {
     $filter = new Transliteration();
     $result = $filter->filter($text);
     $this->assertRegexp($pattern, $result);
 }