highlight multiple keywords in search

前端 未结 8 492
庸人自扰
庸人自扰 2020-12-01 04:58

i\'m using this code to highlight search keywords:

function highlightWords($string, $word)
 {

        $string = str_replace($word, \"

        
8条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-01 05:40

    PHP > 5.3.0, try preg_filter()

    /**
     * Highlighting matching string
     * @param   string  $text           subject
     * @param   string  $words          search string
     * @return  string  highlighted text
     */
    public function highlight($text, $words) {
        $highlighted = preg_filter('/' . preg_quote($words, '/') . '/i', '$0', $text);
        if (!empty($highlighted)) {
            $text = $highlighted;
        }
        return $text;
    }
    

提交回复
热议问题