Răsfoiți Sursa

Merge pull request #1721 from visuddhinanda/laravel

:bug: 字符串长度应该用mb_strlen
visuddhinanda 2 ani în urmă
părinte
comite
76f9eda908
2 a modificat fișierele cu 12 adăugiri și 3 ștergeri
  1. 11 1
      app/Console/Commands/UpgradeDictSysRegular.php
  2. 1 2
      app/Tools/CaseMan.php

+ 11 - 1
app/Console/Commands/UpgradeDictSysRegular.php

@@ -19,7 +19,7 @@ class UpgradeDictSysRegular extends Command
 {
     /**
      * The name and signature of the console command.
-     * php artisan upgrade:regular
+     * php artisan upgrade:regular jāta
      * @var string
      */
     protected $signature = 'upgrade:regular {word?} {--debug}';
@@ -127,6 +127,16 @@ class UpgradeDictSysRegular extends Command
 			$bar->advance();
 		}
 		$bar->finish();
+        if(!empty($this->argument('word'))){
+			$declensions = UserDict::where('dict_id',$dict_id)
+                            ->where('parent',$this->argument('word'))
+                            ->select('word')
+                            ->groupBy('word')
+                            ->get();
+            foreach ($declensions as $key => $word) {
+                Log::debug($word->word);
+            }
+		}
 		//删除旧数据
 		$table = UserDict::where('dict_id',$dict_id);
 		if(!empty($this->argument('word'))){

+ 1 - 2
app/Tools/CaseMan.php

@@ -56,12 +56,11 @@ class CaseMan
             if ($wordEnd === $ending[0]) {
                 //匹配成功
                 $word = mb_substr($base, 0, mb_strlen($base, "UTF-8") - $endingLen, "UTF-8") . $ending[1];
-
                 //尝试sandhi
                 //TODO 加两个sandhi
                 $hasSandhi = false;
                 foreach ($case->union as $sandhi) {
-                    $sandhiLen = strlen($sandhi[0]);
+                    $sandhiLen = mb_strlen($sandhi[0],'UTF-8');
                     $sandhiEnd = mb_substr($word, 0 - $sandhiLen, null, "UTF-8");
                     if ($sandhiEnd === $sandhi[0]) {
                         $sandhiWord = mb_substr($word, 0, mb_strlen($word, "UTF-8") - $sandhiLen, "UTF-8") . $sandhi[1];