mirror of
https://github.com/avecms/AVE.cms.git
synced 2026-08-01 00:45:44 +00:00
1.2 KiB
1.2 KiB
SearchText — текст для поиска
App\Helpers\SearchText — мелкие утилиты подготовки поисковых запросов.
use App\Helpers\SearchText;
Методы
containsRussian($text): bool
Есть ли в тексте кириллица.
SearchText::containsRussian('кресло'); // true
SearchText::containsRussian('chair'); // false
toRussian($input)
Приводит раскладку к русской — «латиница, набранная по ошибке» → кириллица (по раскладке клавиатуры).
SearchText::toRussian('rhtckj'); // 'кресло'
Рецепт
Автоисправление раскладки перед поиском:
$q = Request::getStr('q');
if ($q !== '' && !SearchText::containsRussian($q)) {
$fixed = SearchText::toRussian($q);
// искать и по $q, и по $fixed — пользователь мог забыть переключить раскладку
}
Для морфологии (разные формы слова) — RussianStemmer.