>php教程 >php手册 >检索结果高亮显示关键词的函数

检索结果高亮显示关键词的函数

WBOY
WBOY원래의
2016-06-21 09:08:221003검색

高亮显示|函数|显示|高亮

如:要检索abc,结果显示akjdfdkcdb,如何才能让其中的abc显示为红色。

函数如下:

function highLight($str, $keywords, $color = "red") {
    if (empty($keywords)) {
        return $str;
    }
    $keywords = split("[ \t\r\n,]+", $keywords);
    $str_begin = "##~~##~";
    $str_end   = "~##~~##";
    foreach($keywords as $val) {
        $tvar = preg_quote($val);
        $tvar = str_replace('/', '\/', $tvar);
        $patterns[]    = "/(" . $tvar . ")/";
        $replacement[] = $str_begin . urlencode($val) . $str_end;
        $tvar = preg_quote(urlencode($val));
        $tvar = str_replace('/', '\/', $tvar);
        $tmppattern[]  = "/(" . $str_begin . $tvar . $str_end . ")/";
        $finalrep[]    = "" . $val . "";
    }
    $str = preg_replace($patterns, $replacement, $str);
    $str = preg_replace($tmppattern, $finalrep, $str);
    return $str;
}



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.