/** * 载入词典 * * @return void */ static function LoadDict($maindic = '') { self::$addonDicFile = self::$addonDicFile; self::$mainDicFile = self::$mainDicFile; self::$mainDicFileZip = self::$mainDicFileZip; $startt = microtime(TRUE); //正常读取文件 $dicAddon = self::$addonDicFile; if ($maindic == '' || !file_exists($maindic)) { $dicWords = self::$mainDicFile; } else { $dicWords = $maindic; self::$mainDicFile = $maindic; } //加载主词典(只打开) if (self::$isUnpacked) { self::$mainDicHand = fopen($dicWords, 'r'); } else { self::$InportDict(self::$mainDicFileZip); } //载入副词典 $hw = ''; $ds = file($dicAddon); foreach ($ds as $d) { $d = trim($d); if ($d == '') continue; $estr = substr($d, 1, 1); if ($estr == ':') { $hw = substr($d, 0, 1); } else { $spstr = _SP_; $spstr = iconv(UCS2, 'utf-8', $spstr); $ws = explode(',', $d); $wall = iconv('utf-8', UCS2, join($spstr, $ws)); $ws = explode(_SP_, $wall); foreach ($ws as $estr) { self::$addonDic[$hw][$estr] = strlen($estr); } } } self::$loadTime = microtime(TRUE) - $startt; self::$isLoadDic = TRUE; }