Я использую эту функцию из здесь , которая:
// highlight search keywords
function highlight($title, $search) {
preg_match_all('~\w+~', $search, $m);
if(!$m)
return $title;
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~i';
return preg_replace($re, '<span style="background-color: #ffffcc;">$0</span>', $title);
}
, которая прекрасно работает, но только для названий.Я хочу иметь возможность передать массив, который содержит $ title и $ description.
Я пытался что-то вроде этого:
$replacements = array($title, $description);
// highlight search keywords
function highlight($replacements, $search) {
preg_match_all('~\w+~', $search, $m);
if(!$m)
return $replacements;
$re = '~\\b(' . implode('|', $m[0]) . ')\\b~i';
return preg_replace($re, '<span style="background-color: #ffffcc;">$0</span>', $replacements);
}
Это не работает.Он передает массив в качестве заголовка и не выделяет описание (хотя на самом деле возвращает описание).Есть идеи, как заставить это работать?