str_replace регистронезависимая — проблема подсветки поискового запроса без учета регистра
Решение проблемы подсветки поискового запроса не учитывая регистр.
Рабочий вариант с регулярным выражением:
function colorSearchWord($word,$string,$color='violet'){ return preg_replace('|('.preg_quote($word).')|si','<span style="color:'.$color.';border-bottom:1px dashed '.$color.';">$1</span>',$string); }
С str_replace
фразы в разном регистре не будет подсвечены:
function colorSearchWord($word,$string,$color='violet'){ $replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>"; $result=str_replace($word,$replacement,$string); return $result; }
Можно использовать str_ireplace
, но подсвеченные фразы будут приведены к нижнему регистру
function colorSearchWord($word,$string,$color='violet'){ $replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>"; $result=str_ireplace($word,$replacement,$string); return $result; }