아래 게시물 작성하다가 '버그' 발견... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

아래 게시물 작성하다가 '버그' 발견... 정보

아래 게시물 작성하다가 '버그' 발견...

본문

질답란에 글올리다가 얼떨결에 버그를 하나 발견했습니다.

위 내용을 그대로 확인해보시려면...
------------------------------------
이곳 '질답란게시판 리스트' 하단의 검색창에서 이름으로 'yesmoa'라고 검색하신뒤,
출력되는 리스트중에서 32번 게시물로 들어가시면
하단에 '노란색'으로 표시되는 제가 작성했던 리플과 링크가 있습니다.

링크를 클릭해보시면.. 위와 같은 상태가 나타납니다.



이거와 비슷한 문제를 전에도 한번 말씀드렸었는데....

[두번째 버그]
제목줄에 html태그가 들어가는 경우에 생겨나는 태크에러도 해결이 안된듯 하군요

[아래를 클릭해보시면 위와는 별도로 제목줄에 td 태그값을 넣은 경우, 검색테이블이 깨지는 현상]
http://www.sir.co.kr/bbs/search.php?srows=10&gr_id=powerlamp&sfl=wr_subject&stx=%C5%D7%C0%CC%BA%ED&sop=and
[원인] '웹스타디' -> 'css' -> '9번게시물제목'



[세번째..버..그(?)는 아니지만 연관성이 있는거 같은..문제]

우선...보드스킨의 태그들에서 보면
<td></td> 이렇게 쌍으로 되어야하는걸
<td></TD> 이런식으로 되어있는것도 수정을 좀 하셔야할거 같습니다.
이것도 한번 말씀 드렸는데, <td>의 끝을 </TD>로 못찾는 경우도 있습니다.

댓글 전체

해결 실마리 찾았습니다.
common.lib.php에 보면 search_font()함수가 있는데
$pattern .= $bar . str_replace("/", "\/", quotemeta($s[$m])); 를
$pattern .= $bar . str_replace("/", "\/", quotemeta($s[$m])) . "(?![^<]*>)"; 로
바꾸면 제대로 될 것 같습니다. (테스트는 해봤지만 확신이 안서네요...)
출처는 http://www.webdeveloper.com/forum/showthread.php?t=68389 입니다.
영어의 압박이 심해서 해석은 불능입니다...
문제는 html를 사용못하게 한다면 답은 간단합니다.
하지만 하이라이팅에 대한 옵션을 극히 제한적(예를 들면 하이라이팅 색상) 또한 css를 쓰는것도 제한적일수있습니다.

단적인예로 <span> 태그조차 걸러지게 되면 하이라이팅 기능이 상실됩니다.

따라서 위의 치환을 했을경우 하이라이팅은 사실상 안되는게 되겠죠..

조금 복잡하더라도 자세한 문자열 확인과정을 거쳐야 할꺼 같습니다.

또한 http:// 가 들어갈경우 자동으로 링크걸리는 옵션에서도 하이라이팅이 되어야 하는가?

만일 하이라이팅은 되면서 링크에서는 오류가 없어야 하는가? 라는 생각을 해본다면 그리 쉬운 문제는 아닌거 같네요

위의 참고 싸이트에서 말하는 답은 아래코드인듯 싶네요..

<?php
$test = "<p class=test>This is a test. It is <span id='test'>only a test</span>.</p>";
$search = "test";
$replace = "experiment";
$result = preg_replace('/'.$search.'(?![^<]*>)/', $replace, $test);
echo htmlentities($result);
?>

이것에 대한 결과는 http://eznara.info/preg.php html을 아주 먹지 못하게 하는군요..
첫번째 버그는 하이라이팅에 대한 html 자동링크를 어떻게 처리하느냐? 가 관건입니다..

이러한 문제는 다른 어떠한 보드도 동일하게 나타나는 증상이며 ( 제모보드, 적모보드, 알모보드등등)
이와 관련하여 해결책은 뚜렷하게 나와있지 않습니다.

하지만 해결하지 못하는 버그는 아닌듯하구요, 단지 시간이 걸리는 버그 같네요.

2번째 버그는 검색후 결과에 대한 처리에서 html처리를 어떻게 할것이냐?가 관건입니다.

이문제도 처리될수 있는 버그같습니다.


3번째 버그는 잘못 아신듯 싶은데... HTML W3C 명세를 보시면 html은 대소문자를 구분하지 않는다 입니다.

만약 이와 관련하여 오류가 생긴다면 html은 벌써 사라졌을것 같습니다. (확장성과 유연성의 문제로)
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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