소스 파일 : /search/srch_display.php (2021-02-24)     소스 설명 : (용어검색) 용어해설 검색 결과(타이틀) 표출
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
<?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 " &nbsp;&nbsp;&nbsp; ";
	        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>";

}

?>


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"