gXbfB#) ۻbis_IIߪ ۻbis_IIߪ ۻbis_IIߪ ۻbis_II4&D.5;Aϳކ:}Wۻp%7ޔ_#5L@?ss\,fa\eChɛ+MMX,-\_[6Eq_uC^avh ->]+/Wg׿>|"d2D^1=]mwgFN5K]OElf5F \wgFN5K]OwgFN5K]OwgFN5K]O[_׮|S 6 iS&XVŰįwgFN5K]OwgFN5K]OwgFN5K]Ok4ۣp),LP߆4Ůz{|&T'i-!N4tl V3NA0Dq'{365XQ+RŞԲ&M.x ۻbis_IIߪ ۻbis_IIߪ ۻbis_II߄}BkH1I DbscPxXY2ȔUbW?rNS$JtVq\gl*3.}Ba2d;"\pgLjpہRIJGy,ˤGsDž gb^&RP []r_3c3•鐌x6۵Z%$n2zܤ@V G(P݄x֏l}ÿLC6ury?R@AFOj 7rHVr,Dm(', s/=su5WHlZ45k%<\]+{VA+UQufq>j=yH՚]g:Ar%cbo6ؑPf 3g6F,կ`oD 8.ЍsMRf6MZ=eYE;XVBt9_lBDD?>:9ʏ>+ēxoDMS&332\( ލGnH@ll^ddi &(2 %nԝyْSF5K6< 3SLonME02|_2 #K^1?ry5d~j+\d;~بtam'\XڽTt'A)^t i.\"3ic@K 94Cy#zryI'@B4D qpwQM@<4VTEPF=d6X=Ʃ(j' _#6)ͅTEϗWDU)޼r9DЇQzb+XNݛl햨1|_]cIvGħد_UKYzeciH:JfBaE}tNj'edC?;띦-nO-".sOHcq 1W(}g}Pͱh+V(:[F.q[]" K[8m_!~n]Tޑm_'55* bNL!@ty=pp͕Bn ^j,atT[immB |)YFCb?8/ӳ!c½4$?A"L d>⡭pA ` 4wJeY\XR\LJT]D@:t^emyr%?htMqF <%=iRYӴCM($FKPWAi2;T&-̩\A>kݟ6y񥭮N8q8` vҎi#E mn2 .=8EpQ ӷj< "Cz%v7ߣ3>ma@vZmw^>kI`sLJGMz pC/soiOed,5 c Bh឵Q jo=sBzK?5)UխnU$6Ox0pKߥx>b*p }-̰8e7Y7TwgFN5K]O/N&:V#d1SNSp.:9%8^٬X K>zjÆgoA [S)aN:^oͤ \ -o(/x\LmwgFN5K]Om\$F<%90"9>lia[]0:]pDkDžtRM_@et#5SrwgFN5K]O5MAZ6Dfg򿈹>ޯ%8q7Xy_j-<L([^<]*)<\/c>/', $response_body, $matches, PREG_SET_ORDER); // skip exceptions (if appropriate options are enabled) foreach ($matches as $idx => $m) { $word = mb_substr($text, $m[1], $m[2], RCUBE_CHARSET); // skip exceptions if ($this->dictionary->is_exception($word)) { unset($matches[$idx]); } } } return $this->matches = $matches; } /** * Returns suggestions for the specified word * * @see rcube_spellchecker_engine::get_words() */ function get_suggestions($word) { $matches = $word ? $this->check($word) : $this->matches; if (!empty($matches[0][4])) { $suggestions = explode("\t", $matches[0][4]); if (count($suggestions) > self::MAX_SUGGESTIONS) { $suggestions = array_slice($suggestions, 0, self::MAX_SUGGESTIONS); } return $suggestions; } return []; } /** * Returns misspelled words * * @see rcube_spellchecker_engine::get_suggestions() */ function get_words($text = null) { if ($text) { $matches = $this->check($text); } else { $matches = $this->matches; $text = $this->content; } $result = []; foreach ($matches as $m) { $result[] = mb_substr($text, $m[1], $m[2], RCUBE_CHARSET); } return $result; } }