<?php // (2024.12.27, 차재복, Cha Jae Bok, http://www.ktword.co.kr)
function srch_display($sh, $cur_page, $page_info, $is_1st_char, $dbi) {
# 해당 페이지 쿼리 및 출력
echo "<div style='margin-left:10px; line-height:200%;'>";
// 함수 모음 포함
include_once "../base_utils/common_utils.php"; // pair_delimiter() 함수 준비
// 쿼리문 (개선용)
$f_query_vars['limit'] = "limit {$page_info['start_record']},{$page_info['page_records']}"; // 쿼리문 중 limt 구문
$f_query_vars['is_1st_char'] = $is_1st_char; // 첫 글자 검색 유무
$query = f_query($sh, $f_query_vars); // srch_utils.php
// 쿼리 수행
$result=mysqli_query($dbi,$query);
if (mysqli_errno($dbi)) { echo mysqli_errno($dbi)." : ".mysqli_error($dbi)."\n";}
$i = 0;
while ( $matched=mysqli_fetch_assoc($result) ) {
if ($i != 0) echo "<hr style='margin:15px 0px 15px;'>";
$i += 1;
// 분류
echo "<div class='dropdownDiv' style='margin-bottom:10px'>";
echo "<link rel='stylesheet' href='../navigation/short_navi.css' type='text/css'>";
echo "<div class='pathDiv' data-menutype='clickMenu' >"; // style='margin-left:40px;'
include_once "../navigation/naviFetch.php";
// echo phpFetchPath ($matched['no'], $dbi);
$path_arr = phpFetchPath($matched['no'], $dbi);
echo $path_arr['output'];
echo "</div>";
echo "</div>";
// 주 타이틀
$all_str = ','.$matched['yako'].','.$matched['full_name'].','.$matched['korean'].','.$matched['extra_keyword'].',';
$all_str = str_replace(' ','',$all_str);
$all_sh = str_replace(' ','',$sh);
echo "<a href='../view/view.php?nav=2&no=".$matched['no']."&sh=".urlencode($sh)."' style='font-size:14px;'>";
echo strpos($all_str,','.$all_sh.',')!==false ? $sh : pair_delimiter($matched['word'],'[',']') ;
// echo pair_delimiter($matched['word'],'[',']');
echo "</a>";
// 유사 타이틀 모두
$titles =
( empty($matched['yako']) ? "" : $matched['yako']."," ).
( empty($matched['full_name']) ? "" : $matched['full_name']."," ).
( empty($matched['korean']) ? "" : $matched['korean']."," ).
$matched['extra_keyword'];
echo " ";
echo "<a href='../view/view.php?nav=2&no=".$matched['no']."&sh=".urlencode($sh)."' style='text-decoration:none;'>";
$titles = pair_delimiter($titles,'[',']');
$titles = str_replace(',',', ',$titles);
$titles = str_replace(' ,',',',$titles);
$titles = trim($titles,', ');
echo $titles;
echo "</a>";
// 편집자이면, 검색결과 세부사항 출력
if ( !empty($_SESSION['user_name']) ) { // 편집자 여부
$langType = ( preg_match("/[\x{ac00}-\x{d7a3}][\x{ac00}-\x{d7a3}]/u", $sh) ? "한글" : "영어" );
echo "<span style='margin-left:20px;font-size:12px;'>";
echo "(검색어:{$sh},언어:{$langType},가중치:{$matched['weight']} ...)";
echo "</span>";
}
// 요약
echo "<div style='margin-left:20px;'>";
echo "<a href='../view/view.php?nav=2&no=".$matched['no']."&sh=".urlencode($sh)."' style='text-decoration:none;color:black;'>";
// 검색 문자열을 빈 칸 위주로 구분시켜 배열화
$words = explode(' ',$sh);
// 검색 문자열 좌측부터 먼저 일치하는 부분 화면에 보임
foreach ($words as $key => $value) {
$pos = mb_stripos($matched['abbr'],$value,0,'utf-8');
if ($pos === false) continue;
$extract = mb_substr($matched['abbr'],$pos,200,'utf-8'); //80
$echo_value = strip_tags($value);
$echo_extract = strip_tags($extract);
echo str_replace($echo_value,'<b>'.$echo_value.'</b>',$echo_extract);
if ($pos !== false) break;
}
if ($pos === false)
echo strip_tags($matched['synopsis']);
echo "</a>";
echo "</div>";
// 줄바꿈
// echo "<br>";
}
echo "</div>";
}
?>