(.*)\<\/title\>/", $contents, $page_title); //getting page title
if (preg_match("#\
(.*)\<\/body\>#si", $contents, $body_content)){ //getting content only between tags
$clean_content = strip_tags($body_content[0]); //remove html tags
$clean_content = preg_replace( '/\s+/', ' ', $clean_content ); //remove duplicate whitespaces, carriage returns, tabs, etc
//$found = strpos_recursive($clean_content, $search_term);
$found = strpos_recursive(mb_strtolower($clean_content, 'UTF-8'), $search_term);
$final_result[$file_count]['page_title'][] = $page_title[1];
$final_result[$file_count]['file_name'][] = $file;
}
if($found && !empty($found)) {
for ($z = 0; $z < count($found[0]); $z++){
$pos = $found[0][$z][1];
$side_chars = SIDE_CHARS;
if ($pos < SIDE_CHARS){
$side_chars = $pos;
$pos_end = SIDE_CHARS + $search_term_length;
}else{
$pos_end = SIDE_CHARS*2 + $search_term_length;
}
$pos_start = $pos - $side_chars;
$str = substr($clean_content, $pos_start, $pos_end);
$result = preg_replace('#'.$search_term.'#ui', '\0', $str);
//$result = preg_replace('#'.$search_term.'#ui', ''.$search_term.'', $str);
$final_result[$file_count]['search_result'][] = $result;
}
} else {
$final_result[$file_count]['search_result'][] = '';
}
$file_count++;
}
?>
Search results
-
......
Terms matched: - URL:
No results found for '.$search_term.'';
}
?>
1){
$result = end($parts);
}
return $result;
}
function strpos_recursive($haystack, $needle, $offset = 0, &$results = array()) {
$offset = stripos($haystack, $needle, $offset);
if($offset === false) {
return $results;
} else {
$pattern = '/'.$needle.'/ui';
preg_match_all($pattern, $haystack, $results, PREG_OFFSET_CAPTURE);
return $results;
}
}
?>