当前位置: 首页>>代码示例>>PHP>>正文


PHP UTF8::diactrical_restore方法代码示例

本文整理汇总了PHP中UTF8::diactrical_restore方法的典型用法代码示例。如果您正苦于以下问题:PHP UTF8::diactrical_restore方法的具体用法?PHP UTF8::diactrical_restore怎么用?PHP UTF8::diactrical_restore使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UTF8的用法示例。


在下文中一共展示了UTF8::diactrical_restore方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: parse

 /**
  * Главный метод
  *
  * @param   scalar|null $s      Текст в кодировке UTF-8.
  * @param   array|null  $words  Ассоц. массив со словами, которые были исправлены:
  *                              в ключах оригиналы, в значениях исправленные слова.
  * @return  string|bool         returns FALSE if error occured
  */
 public function parse($s, array &$words = null)
 {
     if (!ReflectionTypeHint::isValid()) {
         return false;
     }
     if (!is_string($s)) {
         return $s;
     }
     #пропускаем текст, в котором нет букв [ЕеЁё]
     if ($this->_is_skip($s)) {
         return $s;
     }
     #speed improve
     if (!(is_array($this->dic) || is_resource($this->db))) {
         if (function_exists('dba_open') && array_key_exists('cdb', dba_handlers(true))) {
             $this->db = dba_open($this->_filename('cdb'), 'r', 'cdb');
             if ($this->db === false) {
                 return $s;
             }
         } elseif ($this->is_work_for_cdb_only) {
             return $s;
         } else {
             include $this->_filename('php');
         }
     }
     #вырезаем и заменяем некоторые символы
     $additional_chars = array("­");
     $s = UTF8::diactrical_remove($s, $additional_chars, $is_can_restored = true, $restore_table);
     $this->words = array();
     #заменяем слова из текста, минимальная длина слова -- 3 буквы, меньше нельзя
     $s = preg_replace_callback('/ (' . $this->ru . ')               #1 первая буква
                                   ((?:' . $this->ru_lc . '){2,}+)   #2 остальные буквы
                                   (?!
                                      \\.(?>[\\x00-\\x20]+|\\xc2\\xa0)+  #\\xc2\\xa0 =  
                                        (?>
                                            (?:' . $this->ru_lc . ')
                                          | (?:' . $this->ru_uc . '){2}   #пример: долл. США
                                          | [\\x21-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7e]
                                        )
                                    | \\.[\\x21-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7e]
                                   )
                                 /sxSX', array(&$this, '_word'), $s);
     $s = UTF8::diactrical_restore($s, $restore_table);
     $words = $this->words;
     return $s;
 }
开发者ID:rin-nas,项目名称:php-yoficator,代码行数:54,代码来源:Yoficator.php

示例2: parse

 /**
  * Исправляет клавиатурные опечатки в тексте.
  * 
  * @param   scalar|null   $s       Текст в кодировке UTF-8.
  * @param   int           $mode    Константы self::SIMILAR_CHARS и/или self::KEYBOARD_LAYOUT,
  *                                 (их можно комбинировать). Описание констант см. выше.
  *                                 При использовании self::KEYBOARD_LAYOUT время работы увеличивается примерно в 10 раз.
  * @param   array         &$words  Ассоц. массив со словами, которые были исправлены:
  *                                 в ключах оригиналы, в значениях исправленные слова.
  * @return  string|bool            Returns FALSE if error occured
  */
 public function parse($s, $mode = self::SIMILAR_CHARS, array &$words = null)
 {
     if (!ReflectionTypeHint::isValid()) {
         return false;
     }
     if (!is_string($s)) {
         return $s;
     }
     if ($mode < self::SIMILAR_CHARS || $mode > (self::SIMILAR_CHARS | self::KEYBOARD_LAYOUT | self::ADD_FIX)) {
         trigger_error('Unknown mode', E_USER_WARNING);
         return false;
     }
     $this->mode = $mode;
     #вырезаем и заменяем некоторые символы
     $additional_chars = array("­");
     #http://ru.wikipedia.org/wiki/Диакритические_знаки
     $s = UTF8::diactrical_remove($s, $additional_chars, $is_can_restored = true, $restore_table);
     $this->words = array();
     $s = $this->_parse1($s);
     $s = $this->_parse2($s);
     $s = UTF8::diactrical_restore($s, $restore_table);
     $words = $this->words;
     return $s;
 }
开发者ID:rin-nas,项目名称:php-lang-correct,代码行数:35,代码来源:LangCorrect.php


注:本文中的UTF8::diactrical_restore方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。