Как преобразовывать заглавную букву в главную и обратно при поиске как в гугле?
Пишу велосипед подскажите как приобразовывать заглавную букву в главную и обратно при поиске например в поиске могут писать паркинсон но правильность его написания Паркинсон , как при вводе паркинсон искало Паркинсон если это нужно а если болезнь то с маленькой буквы и чтоб не преобразовывало, чтоб обяснить правильно в гугле ищет с любой буквы
if (!function_exists('mb_ucfirst') && extension_loaded('mbstring'))
{
function mb_ucfirst($search, $encoding = 'UTF-8')
{
$search = mb_ereg_replace('^[\ ]+', '', $search);
$search = mb_strtoupper(mb_substr($search, 0, 1, $encoding), $encoding).
mb_substr($search, 1, mb_strlen($search), $encoding);
return $search;
}
}
$search = 'паркинсон, болезнь';
$search = mb_ucfirst($search);
Ответы (1 шт):
Как один из самых адекватных вариантов, делать это за счет СУРБД, далее привожу концептуальный пример, т.к. БД вы не указали:
SELECT id, status, name FROM various_table WHERE LOWER(target_name) = LOWER(name);
Соответственно, что бы вам не передали и что бы у вас не хранилось в базе, вы ищите совпадение двух строк в нижнем регистре.
Однако, отвечая прямо на ваш вопрос, первую букву строки в верхний регистр: mb_ucfirst($str);, в нижний: mb_lcfirst($str);.