Как использовать str_replace без изменения заглавных букв?
Это для скрипта поиска по сайту. Если я использую str_ireplace, это изменит капитализацию результатов поиска. Например, если строка запроса - "строка поиска" и найдена запись, содержащая "Строка поиска", последняя теряет свою заглавную букву. Есть ли способ обойти это?
Мне нужно включить подсветку для результатов поиска.
Проблема не в том, чтобы найти строку или выделить ее. Я могу использовать str_ireplace для достижения этой цели. Но это потеряет капитализацию. Что я хочу, так это оставить капитализацию без изменений.
3 ответа
Решение
Вы можете использовать preg_replace.
$haystack = 'Some text here.';
$str = preg_replace( "#(.*)(text)(.*)#i", '\1<b>\2</b>\3', $haystack );
Используйте стрипы для поиска.
if ( stripos( $haystack, $needle ) !== false )
echo $needle, ' found!';