001002003004005006007008009010011012013014015016017018019020021022023024025026027028029030031032033034035036037038039040041042043044045046047048049050051052053054055056057058059060061062063064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094
<?php // (2022.11.23, 차재복, 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); // 쿼리 수행 $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>"; // 주 타이틀 echo "<a href='../view/view.php?nav=2&no=".$matched['no']."&sh=".urlencode($sh)."' style='font-size:14px;'>"; 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}, ...)"; echo "</span>"; } // 요약 echo "<div style='margin-left:20px;'>"; // 검색 문자열을 빈 칸 위주로 구분시켜 배열화 $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 "</div>"; // 줄바꿈 // echo "<br>"; } echo "</div>"; } ?>