Files
2026-07-27 12:58:44 +03:00

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.