검색결과에서 제목태그가 그대로 보이는데 왜그럴까요? > 그누4 질문답변

그누4 질문답변

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

검색결과에서 제목태그가 그대로 보이는데 왜그럴까요? 정보

검색결과에서 제목태그가 그대로 보이는데 왜그럴까요?

본문

예를들어, 검색어를 '그림1'이라고 치면 검색결과는 제대로 나오는데
제목부분에서 태그가 길게 나옵니다.. 해결방법을 알려주시면 감사하겠습니다..

list.skin.php 내용은 아래와 같습니다..

=======================================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//if (!$thumb_width) alert("게시판 설정 : 여분 필드 1 에 목록에서 보여질 이미지의 폭을 설정하십시오. (100)");
if (!$board[bo_9]) alert("게시판 설정 : 여분 필드 9 에 목록에서 보여질 이미지의 질(quality)을 비율로 설정하십시오. (100 이하)");
if (!function_exists("imagecopyresampled")) alert("GD 2.0.1 이상 버전이 설치되어 있어야 사용할 수 있는 갤러리 게시판 입니다.");

//썸네일의 가로길이
$thumb_width = 120;

$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb100';

@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);

$mod = $board[bo_gallery_cols];
$td_width = (int)(100/ $mod);



// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;
if ($is_category) $colspan++;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;

// 제목이 두줄로 표시되는 경우 이 코드를 사용해 보세요.
// <nobr style='display:block; overflow:hidden; width:000px;'>제목</nobr>
//<link rel="stylesheet" href="$board_skin_path/style.css" type="text/css">
?>
<SCRIPT LANGUAGE='JavaScript'>
// 이미지뷰어
<!--
    var win= null;
    function Center_Window(img, w, h)
    {
        var winl = (screen.width-w)/2;
        var wint = (screen.height-h)/3;
        var settings  ='height='+h+',';
            settings +='width='+w+',';
            settings +='top='+wint+',';
            settings +='left='+winl+',';
            settings +='scrollbars=yes,';
            settings +='resizable=yes,';
            settings +='status=no';

        win=window.open("","newWindow",settings);
        win.document.open();
        win.document.write ("<html><head><title>원본 이미지 보기</title></head>");
        win.document.write ("<script>function init(){window.resizeBy(document.all.pop_img.width-document.body.clientWidth, document.all.pop_img.height-document.body.clientHeight+10);}</script>");
        win.document.write ("<body bgcolor=white topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 onload='init();'>");
        win.document.write ("<img src='"+img+"' border=0 onclick='window.close();' style='cursor:hand' title='클릭하면 닫혀요' id='pop_img'>");
        win.document.write ("</body></html>");
        win.document.close();
    }
//-->
</SCRIPT>

<!-- 게시판 목록 시작 -->
<table width="<?=$width?>%" align=center cellpadding=0 cellspacing=0><tr><td>

<!-- 분류 셀렉트 박스, 게시물 몇건, 관리자화면 링크 -->
<table width="680" cellspacing="0" cellpadding="0">
<tr height="25">
    <? if ($is_category) { ?><form name="fcategory" method="get"><td width="50%"><select name=sca onChange="location='<?=$category_location?>'+this.value;"><option value=''>전체</option><?=$category_option?></select></td></form><? } ?>
    <td align="right">
        게시물 <?=number_format($total_count)?>건
        <? if ($rss_href) { ?><a href='<?=$rss_href?>'><img src='<?=$board_skin_path?>/img/btn_rss.gif' border=0 align=absmiddle></a><?}?>
        <? if ($admin_href) { ?><a href="<?=$admin_href?>"><img src="<?=$board_skin_path?>/img/admin_button.gif" title="관리자" width="44" height="21" border="0" align="absmiddle"></a><?}?></td>
       
</tr>
<tr><td height=25></td></tr>
</table>

<form name="fboardlist" method="post" style="margin:0px;">
<input type="hidden" name="bo_table" value="<?=$bo_table?>">
<input type="hidden" name="sfl"  value="<?=$sfl?>">
<input type="hidden" name="stx"  value="<?=$stx?>">
<input type="hidden" name="spt"  value="<?=$spt?>">
<input type="hidden" name="page" value="<?=$page?>">
<input type="hidden" name="sw"  value="">
<!-- 갤러리 전체넓이 -->
<table width="700" cellpadding=0 cellspacing=0 >
<tr>
<?
for ($i=0; $i<count($list); $i++)
{
    if ($i && $i%$mod==0)
        echo "</tr><tr>";

    $img = "<img src='$board_skin_path/img/noimage.gif' border=0 width='$thumb_width' title='이미지 없음'>";
    $thumb = $thumb_path.'/'.$list[$i][wr_id];
    if (!file_exists($thumb))
    {
        $file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
        if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file))
        {
            $size = getimagesize($file);
            if ($size[2] == 1)
                $src = imagecreatefromgif($file);
            else if ($size[2] == 2)
                $src = imagecreatefromjpeg($file);
            else if ($size[2] == 3)
                $src = imagecreatefrompng($file);
            else
                break;

            $rate = $thumb_width / $size[0];
            $height = (int)($size[1] * $rate);

            $dst = imagecreatetruecolor($thumb_width, $height);
            imagecopyresampled($dst, $src, 0, 0, 0, 0, $thumb_width, $height, $size[0], $size[1]);
            imagepng($dst, $thumb_path.'/'.$list[$i][wr_id], $board[bo_9]);
            chmod($thumb_path.'/'.$list[$i][wr_id], 0606);
        }
    }

    if (file_exists($thumb))
        $img = "<img src='$thumb' border=0>";
$file = $list[$i][file][0][path] .'/'. $list[$i][file][0][file];
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($file))

    $style = "";
    if ($list[$i][icon_new])
        $style = ""; // 읽지 않은 글??  style='font-weight:bold;'  추가
    $subject = "<span $style>". $list[$i][subject] ."</span>";
$subject = cut_str(get_text($list[$i][subject]), 45, "..");
$name = substr(trim(strip_tags($list[$i][name])),0,10);
/* cut_str($str, $len, $suffix="…") 함수

$str 은 문자열(회사이름/업무내용 등)
$len 은 나타낼 글자 수
$subffix 는 잘라진 곳에 나타나는 문자 (... 대신 ...more 를 사용하거나 이미지로 대체가능)
*/   
$comment_cnt = "";
    if ($list[$i][comment_cnt])
        $comment_cnt = " <a href=\"{$list[$i][comment_href]}\"><span class='comment_cnt'>{$list[$i][comment_cnt]}</span></a>";

    echo "<td width='{$td_width}%' valign=bottom style='word-break:break-all;'>";
 
// 리스트 출력
echo "<table width='380' border='0' cellpadding='0' cellspacing='0px' style='position: relative; left: 50px;'>";
    echo "
<tr>
<td width='150px' height='140px' align='center' valign='top'>
<div style='width:128px; height:96px; border: solid 1px #dadada; padding: 3px 3px 0px 3px;'>
<a href='javascript:void(0);' onClick=Center_Window('{$file}')>$img</a>
</div>
</td>
  <td valign='top'>
<a href='{$list[$i][href]}'>$subject</a><br>{$name}";

if ($is_checkbox) echo "<br><center><input type=checkbox name=chk_wr_id[] value='{$list[$i][wr_id]}'></center></td></tr>";
echo "</td></tr>";
echo "</table></td>\n";
 
  // 갤러리 구분선
if ($i%8 == 7){
echo "<tr><td height=11></td></tr>
  <tr><td  colspan='4'><hr size=1 color='E7E7E7' width='680' align='center'></td></tr>
  <tr><td height=11></td></tr>";}
}
// 나머지 td, $i는 갤러리총수 9, $mod는 갤러리가로수 4, $cnt=1
$cnt = $i%$mod;
if ($cnt){
    for ($i=$cnt; $i<$mod; $i++){ // 1~4까지
        echo "<td width='{$td_width}%'>&nbsp;</td>";
}
}
?>
</tr>
<? if (count($list) == 0) { echo "<tr><td colspan='$mod' height=100 align=center>게시물이 없습니다.</td></tr>"; } ?>
</table>
</form>
<!-- 페이지 -->
<table width="700" cellspacing="0" cellpadding="0">
<tr>
    <td height="37" align="center">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td width="100%" align="center">
                <? if ($prev_part_href) { echo "<a href='$prev_part_href'><img src='$board_skin_path/img/search_prev.gif' width=50 height=20 border=0 align=absmiddle title='이전검색'></a>"; } ?>
                <?
                // 기본으로 넘어오는 페이지를 아래와 같이 변환하여 이미지로도 출력할 수 있습니다.
                //echo $write_pages;
                $write_pages = str_replace("처음", "<img src='$board_skin_path/img/begin.gif' border='0' align='absmiddle' title='처음'>", $write_pages);
                $write_pages = str_replace("이전", "<img src='$board_skin_path/img/page_prev.gif' border='0' align='absmiddle' title='이전'>", $write_pages);
                $write_pages = str_replace("다음", "<img src='$board_skin_path/img/page_next.gif' border='0' align='absmiddle' title='다음'>", $write_pages);
                $write_pages = str_replace("맨끝", "<img src='$board_skin_path/img/end.gif' border='0' align='absmiddle' title='맨끝'>", $write_pages);
                $write_pages = preg_replace("/<span>([0-9]*)<\/span>/", "<font style=\"font-family:돋움; font-size:9pt; color:#797979\">$1</font>", $write_pages);
                $write_pages = preg_replace("/<b>([0-9]*)<\/b>/", "<font style=\"font-family:돋움; font-size:9pt; color:orange;\">$1</font>", $write_pages);
                ?>
                <?=$write_pages?>
                <? if ($next_part_href) { echo "<a href='$next_part_href'><img src='$board_skin_path/img/search_next.gif' width=50 height=20 border=0 align=absmiddle title='다음검색'></a>"; } ?>
            </td>
        </tr>
        </table></td>
</tr>
</table>

<!-- 버튼 링크 -->
<form name=fsearch method=get style="margin:0px;">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">
<table width=100% cellpadding=0 cellspacing=0 style="position: relative; left:40px;">
<tr>
    <td width="50%" height="40">
        <? if ($list_href) { ?><a href="<?=$list_href?>"><img src="<?=$board_skin_path?>/img/btn_list.gif" border="0"></a><? } ?>
        <? if ($write_href) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>
        <? if ($is_checkbox) { ?>
<img src="<?=$board_skin_path?>/img/all_select.gif"><INPUT onClick="if (this.checked) all_checked(true); else all_checked(false);" type=checkbox style=" vertical-align:top ">
            <a href="javascript:select_delete();"><img src="<?=$board_skin_path?>/img/btn_select_delete.gif" border="0"></a>
            <a href="javascript:select_copy('copy');"><img src="<?=$board_skin_path?>/img/btn_select_copy.gif" border="0"></a>
            <a href="javascript:select_copy('move');"><img src="<?=$board_skin_path?>/img/btn_select_move.gif" border="0"></a>
        <? } ?>
                        </td>
                    </tr> 
                </table><br>
<table width="680"  height="60" border="0" cellpadding="0"  cellspacing="1" bgcolor="#E3E9EE" style="position: relative; left:40px;">
<tr>
<td width="100%" align="center" bgcolor="#F9F9F9"><select name=sfl>
                    <option value='wr_subject'>제목</option>
                    <option value='wr_subject||wr_content'>제목+내용</option>
                    <option value='wr_content'>내용</option>
                    <option value='mb_id,1'>회원아이디</option>
                    <option value='wr_name,1'>이름</option>
                </select>
    <input name=stx maxlength=15 size=40 itemname="검색어" required value="<?=$stx?>">
                            <select name=sop>
                                <option value=and>and</option>
                                <option value=or>or</option>
                            </select>
                        <input type=image src="<?=$board_skin_path?>/img/search_btn.gif" border=0 align=absmiddle></td>
                    </tr>
</table>
            </form></td>
    </tr>
</table>

<script language="JavaScript">
if ("<?=$sca?>") document.fcategory.sca.value = "<?=$sca?>";
if ("<?=$stx?>") {
    document.fsearch.sfl.value = "<?=$sfl?>";
    document.fsearch.sop.value = "<?=$sop?>";
}
</script>

<? if ($is_checkbox) { ?>
<script language="JavaScript">
function all_checked(sw)
{
    var f = document.fboardlist;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}

function check_confirm(str)
{
    var f = document.fboardlist;
    var chk_count = 0;

    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }

    if (!chk_count) {
        alert(str + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
    return true;
}

// 선택한 게시물 삭제
function select_delete()
{
    var f = document.fboardlist;

    str = "삭제";
    if (!check_confirm(str))
        return;

    if (!confirm("선택한 게시물을 정말 "+str+" 하시겠습니까?\n\n한번 "+str+"한 자료는 복구할 수 없습니다"))
        return;

    f.action = "./delete_all.php";
    f.submit();
}

// 선택한 게시물 복사 및 이동
function select_copy(sw)
{
    var f = document.fboardlist;

    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
                     
    if (!check_confirm(str))
        return;

    var sub_win = window.open("", "move", "left=50, top=50, width=396, height=550, scrollbars=1");

    f.sw.value = sw;
    f.target = "move";
    f.action = "./move.php";
    f.submit();
}
</script>
<? } ?>
<!-- 게시판 목록 끝 -->

댓글 전체

/gnu/bbs/search.php의 191번째 줄을 수정해보세요.

원본 : $content = cut_str(get_text($row[wr_content]),300,"…");
수정 : $content = cut_str(strip_tags($row[wr_content]),300,"…");  //내용에 태그 제거
우선 답변주셔서 감사합니다..
그런데 알려주신 방법으론 해결이 안되는듯 합니다..
그리고 제목에 태그가 나오는거라 wr_subject와 관련이 있지 않을까 생각이 듭니다
그럼 그 위의 줄에 있는 $subject = get_text($row[wr_subject]);
를 바꾸면 되지 않나요?

$subject  = strip_tags($row[wr_subject]);  //제목에 태그 제거

저도 만만치 않은 초보라서...;;;
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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