public static function highlight_keywords($text, $keyword) { $color = Yii::app()->params->color; $tag_start = "<span style='background-color:" . $color . "'>"; $tag_end = "</span>"; if ($text != '' && $keyword != '') { $original = $text; $text = CFunction::vn_str_filter(strtolower($text)); $tagLen = strlen($tag_start) + strlen($tag_end); $keyword = CFunction::vn_str_filter(strtolower($keyword)); $current = $offset = $delta = 0; $len = mb_strlen($keyword, "utf-8"); $total = mb_strlen($text, "utf-8"); while (false !== ($pos = strpos($text, $keyword, $offset))) { $original = mb_substr($original, 0, $pos + $delta, "utf-8") . $tag_start . mb_substr($original, $pos + $delta, $len, "utf-8") . $tag_end . mb_substr($original, $pos + $delta + $len, $total, "utf-8"); $delta += $tagLen; $offset = $pos + 1; } return $original; } else { return $text; } }