我有以下功能,不知道我缺少什么让它起作用:
private function highlight_words($items, $word) {
return str_ireplace($word, '<span class="highlight">'.$word.'</span>', $items);
}
其中$items
是一个数组且肯定包含字符串$word
且$word
不为空。
首先,我正在调用这样的搜索功能 - &gt; $this->set('results', $this->search());
以及search
函数 - &gt; return $this->highlight_words($results, $search_term);
从php.net起,它应该像现在一样工作:
如果subject是一个数组,那么搜索和替换是对主题的每个条目执行的,返回值也是一个数组。
答案 0 :(得分:1)
我试图在多维数组中替换字符串,其中str_ireplace
没有任何效果。不得不重新编写我的功能以使其工作:
private function highlight_words($items, $word) {
foreach ($items as $key => $item) {
foreach ($item as $k => $i) {
$items[$key][$k] = str_ireplace($word, '<span class="highlight">'.$word.'</span>', $i);
}
}
return $items;
}