$len) { if($part_pos - $pos >= 0 && $part_pos - $pos < $len) { $overlap = true; break; } } if(!$overlap) { $a_label_match[$part_pos] = $part_len; } } } if(count($a_label_match) > 0) { ksort($a_label_match); $label_highlight = ''; $start = 0; $label_len = mb_strlen($label); foreach($a_label_match as $pos => $len) { if($pos - $start > 0) { $no_highlight = mb_substr($label, $start, $pos - $start); $label_highlight .= $no_highlight; } $highlight = '' . mb_substr($label, $pos, $len) . ''; $label_highlight .= $highlight; $start = $pos + $len; } if($label_len - $start > 0) { $no_highlight = mb_substr($label, $start); $label_highlight .= $no_highlight; } $a_json[$row]["label"] = $label_highlight; } } return $a_json; } ?>