Сегодня столкнулся с проблемой, не происходил нужный мне регистронезависимый поиск, а именно не отрабатывало вот это:
$word='модуль для сетевой игры'; $text='Модуль для сетевой игры '; echo str_replace(Array('.',' '),Array('\.','\s'),trim($word)); if (preg_match('|('.str_replace(Array('.',' '),Array('\.','\s'),trim($word)).')|Usix', $text, $regs)) {} print_r($regs);
Сново нашел ответ на форуме dklab, а именно нужно выставить русскую локаль
setlocale(LC_ALL, 'ru_RU.CP1251');
либо для utf-8
setlocale(LC_ALL, 'ru_RU.UTF-8');
тогда наш пример примет такой вид:
setlocale(LC_ALL, 'ru_RU.CP1251'); $word='модуль для сетевой игры'; $text='Модуль для сетевой игры '; echo str_replace(Array('.',' '),Array('\.','\s'),trim($word)); if (preg_match('|('.str_replace(Array('.',' '),Array('\.','\s'),trim($word)).')|Usix', $text, $regs)) {} print_r($regs);
Все работает 🙂
Комментарии (0)