Я использую эту функцию, чтобы выделить результаты запроса mysql:
function highlightWords($string, $word) { $string = str_replace($word, "<span class='highlight'>".$word."</span>", $string); /*** return the highlighted string ***/ return $string; } .... $cQuote = highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
проблема в том, что если я наберу «хороший», он будет показывать только мои результаты поиска с помощью «g'ood» в нижнем регистре, а не «хорошо». как исправить это?
str_ireplace()
этого используйте str_ireplace()
.
EDIT: Вот версия regexp, которая хранит оригинальный случай:
$string = preg_replace("/".preg_quote($word, "/")."/i", "<span class='highlight'>$0</span>", $string);