게시판 검색시 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개 / 댓글 5개
그누보드 원본에는..
<?php echo $list[$i]['wr_subject']; ?> 는 <b> 가 없구요..
<?php echo $list[$i]['subject']; ?> 가 <b> 가 있는 겁니다.
답변에 대한 댓글 5개
title="<?php echo $list[$i]['wr_subject']; ?>"
이게 무슨일이죠...??
subject 로 할때는... 틀어지던데 wr_subject 로 쓰니 title 속성에 있는 단어는 제외되네요..;;
감사합니다~!!
https://sir.kr/qa/170643
subject 와 wr_subject 의 차이가 관리자에서 글자수 제한 걸어둔걸 불러오느냐 제목을 통으로 불러오느냐 차이라는데요......
단지 저 차이로 인해 검색시 태그 속성의 문자까지도 검색어 영향이 미치는건지... 이해가 되질 않네요 ㅠㅠㅠㅠ
그래도 일단은 알려주신 방법대로 하니 잘 됩니다~! 감사드립니다!!
$list[$i]['subject'] 는 내용에 따옴표가 있어서 그런 겁니다.
$list[$i]['wr_subject'] 는 따옴표가 없어서 잘 나오는거구요.
답변을 작성하려면 로그인이 필요합니다.
그런데.. wr_subject 는 b태그가 없는거고, subject 는 b가 있다는게 무슨 말씀이신가요..??
폰트굵기의 차이를 출력하고 싶은게... 아니에요;;ㅠㅠ
게시판 목록(list.skin.php)에서 제목명으로 검색했을때 이슈입니다ㅠㅠㅠ
[code]
// a태그에 title속성이 없는 원본 상태에서 제목명으로 검색시 제대로 출력됨
<a href="<?php echo $list[$i]['href'] ?>" class="title"><?php echo $list[$i]['subject'] ?></a>
// title 속성없이 제목명으로 검색시 출력값
<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">여수 대리점_<b class="sch_word">여천사</b></a>
// a태그에 title 속성을 추가하고 제목명으로 검색시 본문의 출력되는 결과물 처럼 b 태그가 꼬임
<a href="<?php echo $list[$i]['href'] ?>" class="title" title="<?php echo $list[$i]['subject']; ?>"><?php echo $list[$i]['subject'] ?></a>
// title 속성을 넣고 제목명으로 검색시 출력값
<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>
[/code]
현재 이런 증상이 있습니다...;;
출력값에서 보시다시피 sch_word 가 title 속성에 들어간 텍스트(제목명)에도 추가가 되고,
a 태그 안에 텍스트(제목명)에도 sch_word 가 추가가 되는 이슈입니다;;
그래서 sch_word 를 찾아보니 본문에서 처럼 /lib/common.lib.php 파일에서 search_font 함수로 검색된 단어를 b 태그를 써서 감싸게 해놓았던데... 저게 태그속성에 들어간 텍스트에도 영향을 미치는것 같네요;;
그래서 지금은 일단 a 태그에 title 속성을 다시 제거해놓은 상태입니다;;ㅠㅠㅠ