(재)링크로 불러온 이미지파일 클릭해도 새창 뜨지 않게 하려면.. > 그누4 질문답변

그누4 질문답변

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

(재)링크로 불러온 이미지파일 클릭해도 새창 뜨지 않게 하려면.. 정보

(재)링크로 불러온 이미지파일 클릭해도 새창 뜨지 않게 하려면..

본문

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<STYLE type="text/css">
.view_title {color:#777777;}
.view_iconF {font-size:8pt; font-family:verdana; background-color:#7CAAFE; color:#ffffff;}
.view_iconL {font-size:8pt; font-family:verdana; background-color:#A37CFE; color:#ffffff;}
</STYLE>
<!-- 게시글 보기 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td height=10></td></tr>
<tr><td>
<table border=0 cellpadding=0 cellspacing=0 width=100%>
    <tr>
        <td colspan="3" bgcolor=#e1e1e1></td>
    </tr>
    <tr>
        <td width=1  bgcolor=#e1e1e1></td>
        <td height=30 bgcolor=#F8F8F9 style="padding:5 0 5 0;">
    <strong><? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?><?=$view[subject]?></strong>
        </td>
        <td width=1  bgcolor=#e1e1e1></td>
    </tr>
    <tr>
        <td colspan="3" bgcolor=#e1e1e1></td>
    </tr>
</table>
</td></tr>
<tr><td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr><td height=30>
<TABLE width=100% cellpadding=0 cellspacing=0 border=0>
<TR>
 <TD width=60%>  <span class=view_title>글쓴이</span> : <?=$view[name]?><? if ($is_ip_view) { echo " ($ip)"; } ?></TD>
 <TD width=40% align=right><span class=view_title>날짜</span> : <?=substr($view[wr_datetime],2,14)?>    
       <span class=view_title>조회</span> : <?=$view[wr_hit]?>    
       <? if ($is_good) { ?><span class=view_title>추천</span> : <?=$view[wr_good]?>    <?}?>
       <? if ($is_nogood) { ?><span class=view_title>비추천</span> : <?=$view[wr_nogood]?>    <?}?></TD>
</TR>
</TABLE></td></tr>
<tr><td height=1 bgcolor=#E7E7E7></td></tr>
<? if ($trackback_url) { ?>
<tr><td height=30>  <span class=view_title>트랙백 주소</span> : <a href="javascript:clipboard_trackback('<?=$trackback_url?>');" style="letter-spacing:0;" title='이 글을 소개할 때는 이 주소를 사용하세요'><?=$trackback_url?></a>
<script language="JavaScript">
function clipboard_trackback(str)
{
    if (g4_is_gecko)
        prompt("이 글의 고유주소입니다. Ctrl+C를 눌러 복사하세요.", str);
    else if (g4_is_ie) {
        window.clipboardData.setData("Text", str);
        alert("트랙백 주소가 복사되었습니다.\n\n<?=$trackback_url?>");
    }
}
</script></td></tr>
<?}?>
<?
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++)
{
    if ($view[file][$i][source] && !$view[file][$i][view])
    {
        $cnt++;
        //echo "<tr><td height=22>  <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <a href='{$view[file][$i][href]}' title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
        echo "<tr><td height=22 bgcolor=#EFEFEF>  <span class=view_iconF title='첨부파일'> F </span> <a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'><strong>{$view[file][$i][source]}</strong> ({$view[file][$i][size]}), Down : {$view[file][$i][download]}, {$view[file][$i][datetime]}</a></td></tr>";
    }
}
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++)
{
    if ($view[link][$i])
    {
        $cnt++;
        $link = cut_str($view[link][$i], 70);
        echo "<tr><td height=22 bgcolor=#EFEFEF>  <span class=view_iconL title='링크'> L </span> <a href='{$view[link_href][$i]}' target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";
    }
}
?>
<tr><td height=1 bgcolor=#E7E7E7></td></tr>
<tr>
    <td height="150" style='word-break:break-all; padding:10px;'>
        <?
        // 파일 출력
        for ($i=0; $i<=count($view[file]); $i++) {
            if ($view[file][$i][view])
                echo $view[file][$i][view] . "<p>";
        }
        ?>
        <span class="ct lh"><?=$view[content];?></span>
        <?//echo $view[rich_content]; // 과 같은 코드를 사용할 경우?>
        <!-- 테러 태그 방지용 --></xml></xmp><a href=""></a><a href=''></a>
       
        <? if ($is_signature) { echo "<br>$signature<br><br>"; } // 서명 출력 ?></td>
</tr>
</table><br>
<?
include_once("./view_comment.php");
?>
<!-- 버튼 -->
<table width='100%' cellpadding=0 cellspacing=0>
<tr height=35>
    <td width=75%>
        <? if ($search_href) { echo "<a href=\"$search_href\"><img src='$board_skin_path/img/btn_search_list.gif' border='0' align='absmiddle'></a> "; } ?>
        <? echo "<a href=\"$list_href\"><img src='$board_skin_path/img/btn_list.gif' border='0' align='absmiddle'></a> "; ?>
        <? if ($write_href) { echo "<a href=\"$write_href\"><img src='$board_skin_path/img/btn_write.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($reply_href) { echo "<a href=\"$reply_href\"><img src='$board_skin_path/img/btn_reply.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($update_href) { echo "<a href=\"$update_href\"><img src='$board_skin_path/img/btn_update.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($delete_href) { echo "<a href=\"$delete_href\"><img src='$board_skin_path/img/btn_delete.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($good_href) { echo "<a href=\"$good_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_good.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($nogood_href) { echo "<a href=\"$nogood_href\" target='hiddenframe'><img src='$board_skin_path/img/btn_nogood.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($scrap_href) { echo "<a href=\"javascript:;\" onclick=\"win_scrap('./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id');\"><img src='$board_skin_path/img/btn_scrap.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($copy_href) { echo "<a href=\"$copy_href\"><img src='$board_skin_path/img/btn_copy.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($move_href) { echo "<a href=\"$move_href\"><img src='$board_skin_path/img/btn_move.gif' border='0' align='absmiddle'></a> "; } ?>
    </td>
<? if (($prev_href)or($next_href)) { ?>
 <td width=25% align=right>
        <? if ($prev_href) { echo "<a href=\"$prev_href\" title=\"$prev_wr_subject\"><img src='$board_skin_path/img/btn_prev.gif' border='0' align='absmiddle'></a> "; } ?>
        <? if ($next_href) { echo "<a href=\"$next_href\" title=\"$next_wr_subject\"><img src='$board_skin_path/img/btn_next.gif' border='0' align='absmiddle'></a> "; } ?>
    </td>
<? } ?>
</tr>
</table>
</td></tr></table><br>
<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$board[bo_image_width]?>');
    var image_height = 0;
    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}
window.onload = resize_image;
function file_download(link, file)
{
<? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
document.location.href = link;
}
</script>
<!-- 게시글 보기 끝 -->
 
 
-----------------------------------------------------------------
 
업로드 된 이미지를 클릭시 새창에 안뜨게 하는 방법은 검색해 보니..
밑의 소스로 수정하면 된다 그러더라구요..;;
반대로 업로드 말고 링크 된 이미지를 클릭 했을때 새창이 안뜨게 하는 방법은 어떻게 손봐야하는가요?
 
<?
 // 파일 출력
 for ($i=0; $i<=count($view[file]); $i++) {
 if($view[file][$i][view])
 //이미지 링크를 없앤다.....유료이미지 일때...아니면 회원 일때..
 $view[file][$i][view] =
 str_replace("onclick='image_window(this);' style='cursor:pointer;'","",$view[file][$i][view]); 
 echo $view[file][$i][view] . "<p>";         
 }
 ?>
 
 

 

댓글 전체

글쓰기에서
링크1
링크2 에 이미지링크??? 에 입력된 링크인지...
글이 html 로 작성했을때 ??? 글내용중 링크이미지 인지...;;

지난번에 얼핏 html로 작성된 글내용중에로... 기억하고 있습니다.
맞나요?
맞다면 위의 파일출력 부분과는 전혀 무관합니다.

글내용이 링크된 이미지라면
<a href='http:// 나 www.sir.co.kr/img/aaa.gif'><img src='http:/좌동.gif'></a>
이렇게 되어있겠죠??
그럼
$view[content]; 를 가공을 하셔야 겠죠.
$view[content]; 중에
<a href= 로 시작하고 <-- 정규식으로 ^을 쓰면 되겠습니다.
http:// 나 www로 시작하고(대소문자 구분없이)
마지막이 .gif 나 .jpg ... 등등 이미지 형식으로 끝나는 문자열을 없애고
$view[content] 에 저장하시면 되겠네여.

특정 링크를 없애는 방법은 아래를 참고하십시요.
http://sir.co.kr/bbs/tb.php/g4_tiptech/5393
달수님 죄송해요;; 조금 더 쉽게 가르켜 주시면 안될까요? 말이 너무 어려워요 ㅠㅠ

제 질문의 요점은..

만약 <a href='http://daum.net'><img src='http://배너.gif'> 이렇게 되어있다면..
배너를 클릭했을때 http://daum.net 으로 이동은 하되 배너를 클릭하므로써 배너도 이미지로 인식해 새창에 뜨는 것을
없애보고 싶어요...
view.skin.php 에 내용출력하는 부분에 두줄 추가하시면 될겁니다.
<span class="ct lh"><?=$view[content];?></span>

|
v


<?
$view[content]=str_replace("name='target_resize_image[]'","",$view[content]); 
$view[content]=str_replace("onclick='image_window(this)'","",$view[content]); 
?>
<span class="ct lh"><?=$view[content];?></span>
<?
$view[content]=str_replace("name='target_resize_image[]'","",$view[content]); 
$view[content]=str_replace("onclick='image_window(this)' style='cursor:pointer;' ","",$view[content]); 
?>

하면 완벽해지네요. 팁감사합니다.


<?
$view[content]=str_replace("name='target_resize_image[]'","",$view[content]); 
$view[content]=str_replace("onclick='image_window(this)' style='cursor:pointer;' ","",$view[content]); 
?>


<span class="ct lh"><?=$view[content];?></span>


<span class="ct lh"><?=$view[content];?></span>
이부분을 하단에 넣으니까 되네요 한참 헤멧네요 완전 초보인데 ㅎㅎㅎ
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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