Example #1
0
 private function normalize($str, $opts)
 {
     if (class_exists('Normalizer')) {
         if ($opts['nfc'] && !Normalizer::isNormalized($str, Normalizer::FORM_C)) {
             $str = Normalizer::normalize($str, Normalizer::FORM_C);
         }
         if ($opts['nfkc'] && !Normalizer::isNormalized($str, Normalizer::FORM_KC)) {
             $str = Normalizer::normalize($str, Normalizer::FORM_KC);
         }
     } else {
         if (!class_exists('I18N_UnicodeNormalizer')) {
             @(include_once 'I18N/UnicodeNormalizer.php');
         }
         if (class_exists('I18N_UnicodeNormalizer')) {
             $normalizer = new I18N_UnicodeNormalizer();
             if ($opts['nfc']) {
                 $str = $normalizer->normalize($str, 'NFC');
             }
             if ($opts['nfkc']) {
                 $str = $normalizer->normalize($str, 'NFKC');
             }
         }
     }
     return $str;
 }
 private function normalize($str, $opts)
 {
     if ($opts['nfc'] || $opts['nfkc']) {
         if (class_exists('Normalizer', false)) {
             if ($opts['nfc'] && !Normalizer::isNormalized($str, Normalizer::FORM_C)) {
                 $str = Normalizer::normalize($str, Normalizer::FORM_C);
             }
             if ($opts['nfkc'] && !Normalizer::isNormalized($str, Normalizer::FORM_KC)) {
                 $str = Normalizer::normalize($str, Normalizer::FORM_KC);
             }
         } else {
             if (!class_exists('I18N_UnicodeNormalizer', false)) {
                 @(include_once 'I18N/UnicodeNormalizer.php');
             }
             if (class_exists('I18N_UnicodeNormalizer', false)) {
                 $normalizer = new I18N_UnicodeNormalizer();
                 if ($opts['nfc']) {
                     $str = $normalizer->normalize($str, 'NFC');
                 }
                 if ($opts['nfkc']) {
                     $str = $normalizer->normalize($str, 'NFKC');
                 }
             }
         }
     }
     if ($opts['lowercase']) {
         $str = strtolower($str);
     }
     if ($opts['convmap'] && is_array($opts['convmap'])) {
         $str = strtr($str, $opts['convmap']);
     }
     return $str;
 }
Example #3
0
 public static function normalize_platform_dependent_chars($value, $is_use_normalizer = false)
 {
     $value = self::normalize_platform_dependent_chars_simple($value);
     if (!$is_use_normalizer) {
         return $value;
     }
     require_once APPPATH . 'vendor' . DS . 'PEAR' . DS . 'I18N_UnicodeNormalizer' . DS . 'UnicodeNormalizer.php';
     $normalizer = new I18N_UnicodeNormalizer();
     return $normalizer->normalize($value, 'NFKC');
 }