Example #1
1
 /**
  */
 protected static function _intlToAscii($str)
 {
     if (!isset(self::$_transliterator)) {
         self::$_transliterator = Transliterator::create('Any-Latin; Latin-ASCII');
     }
     return self::$_transliterator->transliterate($str);
 }
 /**
  * @param string $string
  *
  * @return string
  *
  * @throws TransliterateException
  */
 public function transliterate($string)
 {
     $string = $this->transliterator->transliterate($string);
     if ($string === false) {
         throw new TransliterateException($this->transliterator->getErrorMessage(), $this->transliterator->getErrorCode());
     }
     return $string;
 }
 /**
  * @param $values
  * @return mixed|string
  */
 private function generateSlugValue($values)
 {
     $usableValues = [];
     foreach ($values as $fieldName => $fieldValue) {
         if (!empty($fieldValue)) {
             $usableValues[] = $fieldValue;
         }
     }
     if (count($usableValues) < 1) {
         throw new \UnexpectedValueException('Sluggable expects to have at least one usable (non-empty) field from the following: [ ' . implode(array_keys($values), ',') . ' ]');
     }
     // generate the slug itself
     $sluggableText = implode(' ', $usableValues);
     $transliterator = new Transliterator();
     $sluggableText = $transliterator->transliterate($sluggableText, $this->getSlugDelimiter());
     $urlized = strtolower(trim(preg_replace("/[^a-zA-Z0-9\\/_|+ -]/", '', $sluggableText), $this->getSlugDelimiter()));
     $urlized = preg_replace("/[\\/_|+ -]+/", $this->getSlugDelimiter(), $urlized);
     return $urlized;
 }
 private static function toLowerMb($str)
 {
     if (self::$to_lower === null) {
         self::$to_lower = \Transliterator::create('Any-Lower');
     }
     return self::$to_lower->transliterate($str);
 }
Example #5
0
 /**
  * @since 0.1
  *
  * @param integer $flag
  */
 public function applyTransliteration($flag = Transliterator::DIACRITICS)
 {
     $this->string = Transliterator::transliterate($this->string, $flag);
 }
Example #6
0
 /**
  * @since 0.1
  *
  * @param string $text
  *
  * @param integer $flag
  */
 public static function applyTransliteration($text, $flag = Transliterator::DIACRITICS)
 {
     return Transliterator::transliterate($text, $flag);
 }
Example #7
-1
 /**
  * Transliterate using the Transliterator package.
  *
  * @param string $str  Input string (UTF-8).
  *
  * @return mixed  Transliterated string (UTF-8), or false on error.
  */
 protected static function _intlToAscii($str)
 {
     if (class_exists('Transliterator')) {
         if (!isset(self::$_transliterator)) {
             self::$_transliterator = Transliterator::create('Any-Latin; Latin-ASCII');
         }
         if (!is_null(self::$_transliterator)) {
             /* Returns false on error. */
             return self::$_transliterator->transliterate($str);
         }
     }
     return false;
 }