Changeset View
Changeset View
Standalone View
Standalone View
src/applications/search/ngrams/PhabricatorNgramEngine.php
| Show All 20 Lines | foreach ($tokens as $token) { | ||||
| case 'index': | case 'index': | ||||
| $token = ' '.$token.' '; | $token = ' '.$token.' '; | ||||
| break; | break; | ||||
| case 'prefix': | case 'prefix': | ||||
| $token = ' '.$token; | $token = ' '.$token; | ||||
| break; | break; | ||||
| } | } | ||||
| $len = (strlen($token) - 2); | $token_v = phutil_utf8v($token); | ||||
| $len = (count($token_v) - 2); | |||||
| for ($ii = 0; $ii < $len; $ii++) { | for ($ii = 0; $ii < $len; $ii++) { | ||||
| $ngram = substr($token, $ii, 3); | $ngram = array_slice($token_v, $ii, 3); | ||||
| $ngram = implode('', $ngram); | |||||
| $ngrams[$ngram] = $ngram; | $ngrams[$ngram] = $ngram; | ||||
| } | } | ||||
| } | } | ||||
| ksort($ngrams); | ksort($ngrams); | ||||
| return array_keys($ngrams); | return array_keys($ngrams); | ||||
| } | } | ||||
| } | } | ||||