0){ $i = 0; foreach ($searchData as $k => $v) { if(in_array($tag2,$v['tags'])){ $url = $v['permalink']; $title = $v['title']; $body = $v['contents']; $img = $v['image']; $url = mb_convert_encoding($url,$encoding,ENCODER); $title = mb_convert_encoding($title,$encoding,ENCODER); $body = mb_convert_encoding($body,$encoding,ENCODER); $img = mb_convert_encoding($img,$encoding,ENCODER); if($template_S2 == true){ $result .= '
  • '.$img.'
    '.$title.'
    '.$body.'
    Read More
  • '."\n"; }else{ $result .= '
    '.boldKeywords($title,$keywords).'
    '."\n"; $result .= '
    '.$body.'
    '."\n"; } $resultCount++; } } $keywords = $tag; $tagFlag = true; }else{ $result = "タグが指定されていません。"; } if($result == ""){ $result = "%%%keywords%%%に一致する情報は見つかりませんでした。"; }else{ if($template_S2 == true){ $result = ''; }else{ $result = "
    ".$result."
    "; } } }else{ /* キーワード検索 =================== */ $keywords = mb_convert_encoding($keywords,"UTF-8",$encoding); $keywords = htmlspecialchars($keywords); if(strlen($keywords) > 0){ $i = 0; foreach($searchData as $k=>$v){ $res1 = searchKeywords($v['title'],$keywords); $res2 = searchKeywords($v['contents'],$keywords); $res3 = false; if(!$res&&!$res2){ $res3 = in_array($keywords,$v['tags']); } if($res1||$res2||$res3){ $url = $v['permalink']; $title = $v['title']; $body = $v['contents']; $img = $v['image']; $v = ""; unset($searchData[$key]); if($res2 === false){ if(strlen($body) > DISPLAY_COUNT){ $body = mb_substr($body,0,DISPLAY_COUNT)."..."; } }else{ $half = 2 / DISPLAY_COUNT; if(($res - $half) <= 0){ $body = mb_substr($body,0,DISPLAY_COUNT)."..."; }else{ $t = ($res - $half) + DISPLAY_COUNT; $blen = strlen($body); if($t > $blen){ $body = mb_substr($body,($res - $half),DISPLAY_COUNT)."..."; }else{ $body = mb_substr($body,($res - $half),$blen - ($res - $half)); } } } $body = boldKeywords($body,$keywords); $url = mb_convert_encoding($url,$encoding,ENCODER); $title = mb_convert_encoding($title,$encoding,ENCODER); $body = mb_convert_encoding($body,$encoding,ENCODER); $img = mb_convert_encoding($img,$encoding,ENCODER); if($template_S2 == true){ $result .= '
  • '.$img.'
    '.boldKeywords($title,$keywords).'
    '.$body.'
    Read More
  • '."\n"; }else{ $result .= '
    '.boldKeywords($title,$keywords).'
    '."\n"; $result .= '
    '.$body.'
    '."\n"; } $resultCount++; } $i++; } if($result == ""){ $result = "%%%keywords%%%に一致する情報は見つかりませんでした。"; }else{ if($template_S2 == true){ $result = ''; }else{ $result = "
    ".$result."
    "; } } }else{ $result = "キーワードが指定されていません。"; } } }else{ $result = "検索用データベースファイルが見つかりませんでした。"; } $keywords = mb_convert_encoding($keywords,$encoding,"ASCII,JIS,UTF-8,EUC-JP,SJIS"); $result = mb_convert_encoding($result,$encoding,"ASCII,JIS,UTF-8,EUC-JP,SJIS"); $data = @join("",@file(TEMP_FILE)); $data = str_replace("%%%result%%%",$result,$data); $data = str_replace("%%%keywords%%%",$keywords,$data); $data = str_replace("%%%count%%%",$resultCount,$data); if($tagFlag === true){ $data = str_replace("","",$data); } $data = mb_convert_encoding($data,$encoding,"ASCII,JIS,UTF-8,EUC-JP,SJIS"); echo $data; function searchKeywords($text,$keywords){ $keywords = trim($keywords); $keywords = mb_convert_encoding($keywords,'UTF-8', "ASCII,JIS,UTF-8,EUC-JP,SJIS"); $text = mb_convert_encoding($text, 'UTF-8', "ASCII,JIS,UTF-8,EUC-JP,SJIS"); $text = mb_strtolower($text,"UTF-8"); $text = str_replace(" ", " ", $text); $keywords = str_replace(" "," ",$keywords); $keywords = mb_strtolower($keywords,"UTF-8"); $key = explode(" ",$keywords); $r = 0; $i = 0; $value = false; foreach($key as $item){ if(strlen($item) > 0){ $res = strpos($text,$item); if($res === false){ $value = false; break; }else{ $value = true; } $i++; } } return $value; } function boldKeywords($text,$keywords){ $keywords = trim($keywords); $keywords = str_replace(" "," ",$keywords); $keywords = str_replace(" "," ",$keywords); $key = explode(" ",$keywords); foreach($key as $item){ $text = str_replace($item,"".$item."",$text); } return $text; } ?>