게시판 검색 띄어쓰기 무시 질문드립니다!

게시판 검색 띄어쓰기 무시 질문드립니다!

QA

게시판 검색 띄어쓰기 무시 질문드립니다!

본문

안녕하세요.

게시글 제목이 그누 보드 라고 띄어쓰기가 있으면,

게시판 검색을 그누보드, 누보 등등 이라고 해도 게시글이 검색이 되도록 띄어쓰기를 제거하려고 합니다.

질문 전에 서칭을 했었는데 대부분 "전체검색"에 관한 질문이네요...

게시판 검색이니까 bbs/list.php에서 검색 쿼리를 건드려줘야 할 것 같은데.. 잘 모르겠네요..

 

bbs/list.php


// 분류 선택 또는 검색어가 있다면
$stx = trim($stx);
//검색인지 아닌지 구분하는 변수 초기화
$is_search_bbs = false;
 
if ($sca || $stx || $stx === '0') {     //검색이면
    $is_search_bbs = true;      //검색구분변수 true 지정
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
 
    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";
    $row = sql_fetch($sql);
    $min_spt = (int)$row['min_wr_num'];
 
    if (!$spt) $spt = $min_spt;
 
    $sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
 
    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
    /*
    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
    $result = sql_query($sql);
    $total_count = sql_num_rows($result);
    */
} else {
    $sql_search = "";
 
    $total_count = $board['bo_count_write'];
}

 

이 질문에 댓글 쓰기 :

답변 2


common.lib.php 파일에서 get_sql_search 이 함수를 찾아서 
switch ($field[$k]) { 위에 아래처럼 수정해보세요

            // 필드값에 a-z A-Z 0-9 _ , | 이외의 값이 있다면 검색필드를 wr_subject 로 설정한다.
            $field[$k] = preg_match("/^[\w\,\|]+$/", $field[$k]) ? strtolower($field[$k]) : "wr_subject";
            if($field[$k] == "wr_subject") {
                $field[$k] = " REPLACE(wr_subject, ' ', '') ";
            }
            $str .= $op2;
            switch ($field[$k]) {

 

$stx = trim($stx);

다음줄에

 

$stx = preg_replace("/\s+/","",$stx);

추가하면 될거 같아요


전체검색이 아닌 제목일때만 띄어쓰기를 없애면 되는거라면
if(sfl=='wr_subject'){
    $stx = preg_replace("/\s+/","",$stx);
}
으로 수정하면 되는데.. 정확히 어떤 증상인지 모르겠네요..ㅎㅎ;;

답변을 작성하시기 전에 로그인 해주세요.
전체 45
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT