게시판 검색시 b태그 추가되는 부분이 꼬이는 현상(?)
본문
검색조건?? sfl 을 wr_subject 와 wr_1 2개로만 사용중입니다...;;
검색폼에 select 박스를
wr_1로 설정해놓고 aaa 라고 검색하면 wr_1 에 aaa 단어가 포함된 게시글이 제대로 불러와지고 검색어를 b태그로 감싸지않고 틀어지는 부분도 없습니다.
문제는 wr_subject 인데요
wr_subject로 설정해놓고 검색하면 aaa 라고 검색하면 wr_subject 에 aaa 단어가 포함된 게시글이 불러와지는건 제대로 불러와지는데
검색어를 b태그로 감싸는 부분에서 틀어지는데;;; a 태그 안에서 꼬여버립니다...
<a href="http://aaa.co.kr/branch/3?sfl=wr_subject&stx=%EC%97%AC%EC%B2%9C%EC%82%AC&sop=and" class="title" title="여수 대리점_<b class=" sch_word"="">여천사">여수 대리점_<b class="sch_word">여천사</b></a>
여천사 를 검색어로 사용하고 출력되는 것을 가져온건데요
저 a 태그는 게시글 제목링크 입니다... b태그가 2번 불러와지고 a 태그의 title 속성에 b태그가 들어가있습니다....
지금 글 작성하면서 혹시나 하고 a 태그의 타이틀 속성을 지워보니 틀어지지않고 제대로 잘 나오네요...;;
title="<?php echo $list[$i]['wr_subject']; ?>"
이상하게도... 태그 속성까지도 검색어에 포함이 되나보네요;;
그런데 wr_1 에서는 검색된 단어를 b태그로 감싸지 않는데 둘다 통일 시키는 방법이 있나요...??
wr_subject로 검색시에만 b태그가 감싸집니다;;
/lib/common.lib.php 파일에서 search_font 함수를 찾아보면...
for ($m=0; $m<count($s); $m++) {
if (trim($s[$m]) == '') continue;
// 태그는 포함하지 않아야 하는데 잘 안되는군. ㅡㅡa
//$pattern .= $bar . '([^<])(' . quotemeta($s[$m]) . ')';
//$pattern .= $bar . quotemeta($s[$m]);
//$pattern .= $bar . str_replace("/", "\/", quotemeta($s[$m]));
$tmp_str = quotemeta($s[$m]);
$tmp_str = str_replace($src, $dst, $tmp_str);
$pattern .= $bar . $tmp_str . "(?![^<]*>)";
$bar = "|";
}
주석처리되어있는 부분... 태그는 포함하지 않아야하는데.. <<< 이 부분이 해결이 안돼서
태그 속성에 넣은 단어까지도 검색에 영향을 미치는건가요??
!-->!-->
답변 1
그누보드 원본에는..
<?php echo $list[$i]['wr_subject']; ?> 는 <b> 가 없구요..
<?php echo $list[$i]['subject']; ?> 가 <b> 가 있는 겁니다.