rich 스킨 view.skin.php 파일에서 첨부이미지 이미지 설명글 불러오기 문의

rich 스킨 view.skin.php 파일에서 첨부이미지를 불러올때 이미지 설명글도 불러오고 싶습니다.

===================================== view.skin.php 소스 =============================

<span class="lh2"><? echo $view[rich_content]; // {이미지:0} 과 같은 코드를 사용할 경우?></span>

=================================================================================

글쓰기에서 {이미지:0}과 같이 이미지를 보여주고자 하는곳에 적용을 했는데, 이미지 설명글을 나오게 하려면 어떻게 해야할지 모르겠습니다.


고수님들의 비법 전수를 기다리겠습니다. ^^*
|

댓글 11개

보여 주신 소스가 너무 짧습니다. --;
$view[rich_content]= ????

이런 부분이 필요한데....
================= view.skin.php =============================


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

<style type=text/css>
.lh21 { line-height:230%; } /* 내용보기에서 줄간격 */
.lh2 { font-family:굴림,verdana,Gulim; font-size:11pt; color:#000000; letter-spacing:-1px; line-height:180%; }
</style>

<!-- 게시글 보기 시작 -->
<table width="<?=$width?>" align="center" cellpadding="0" cellspacing="0"><tr><td>

<!-- 링크 버튼 -->
<?
ob_start();
?>
<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_href');\"><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>
<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>&nbsp;"; } ?>
<? 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>&nbsp;"; } ?>
</td>
</tr>
</table>
<?
$link_buttons = ob_get_contents();
ob_end_flush();
?>

<table width="100%" cellspacing="0" cellpadding="0">
<tr><td height=2 bgcolor=#B0ADF5></td></tr>
<tr><td height=30 bgcolor=#F8F8F9 style="padding:5 0 5 0;">&nbsp;&nbsp;<strong><? if ($is_category) { echo ($category_name ? "[$view[ca_name]] " : ""); } ?><?=$view[subject]?></strong></td></tr>
<tr><td height=30>&nbsp;&nbsp;<font color=#7A8FDB>글쓴이</font> : <?=$view[name]?><? if ($is_ip_view) { echo "&nbsp;($ip)"; } ?>&nbsp;&nbsp;&nbsp;&nbsp;
<font color=#7A8FDB>날짜</font> : <?=substr($view[wr_datetime],2,14)?>&nbsp;&nbsp;&nbsp;&nbsp;
<font color=#7A8FDB>조회</font> : <?=$view[wr_hit]?>&nbsp;&nbsp;&nbsp;&nbsp;
<? if ($is_good) { ?><font color=#7A8FDB>추천</font> : <?=$view[wr_good]?>&nbsp;&nbsp;&nbsp;&nbsp;<?}?>
<? if ($is_nogood) { ?><font color=#7A8FDB>비추천</font> : <?=$view[wr_nogood]?>&nbsp;&nbsp;&nbsp;&nbsp;<?}?></td></tr>
<tr><td height=1 bgcolor=#E7E7E7></td></tr>

<? if ($trackback_url) { ?>
<tr><td height=30>&nbsp;&nbsp;트랙백 주소 : <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>&nbsp;&nbsp;<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>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle> <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>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <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; border:1px solid #BBBBBB;' bgcolor=#F8F8F9>

<!--<span class="ct lh"><?=$view[content];?></span>-->
<span class="lh2"><? echo $view[rich_content]; // {이미지:0} 과 같은 코드를 사용할 경우?></span>

<!-- 테러 태그 방지용 --></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");
?>

<?=$link_buttons?>

</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);

// 스타일에 적용된 이미지의 폭과 높이를 삭제한다
target[i].style.width = '';
target[i].style.height = '';
}
target[i].style.borderWidth = '1px';
target[i].style.borderStyle = 'solid';
target[i].style.borderColor = '#000000';
}
}

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>
<!-- 게시글 보기 끝 -->

===========================================================================

위 링크에 적용된 소스 그대로 입니다.
맨 위에 코드를 이렇게 한번 해보세요

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

$view[rich_content] = preg_replace("/{설명\:([0-9]+)[:]?([^}]*)}/ie", "view_image(\$view, '\\1', '\\2')", $view[rich_content]);

?>

그리고 본문에는 {설명:0} 과 같은 식으로 넣으시면 될 것 같습니다.^^


자.. 제게 포인트를 ㅡㅢ;;
안됩니다. ㅠ.ㅠ.
급하게 올리다보니^^;; 아래 코드는 잘 작동 할껍니다. 방금 테스트해봤거든요!!

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

$view[rich_content] = preg_replace("/{설명\:([0-9]+)[:]?([^}]*)}/ie", "\$view[file][\\1][content]", $view[rich_content]);

?>
방금 했는데 안됩니다.
테스트를 해보셨으면 잘 되어야 하는데........
거참 이상하군요.
도둑님.. 되잖아용.. ㅠㅠ
http://hyusig.net/v2/bbs/board.php?bo_table=test_1&wr_id=25
ㅋㅋㅋ
제가 사용법을 몰랐습니다.

근데 문제가 있습니다. 제가 원했던거 일반 스킨처럼 이미지 아래 바로 설명글이 붙도록 하고 싶거든요. 그건 어떻게 안되겠습니까? ㅎㅎ
도둑님!! 성공한거 같아요^^ 이걸로 적용한번 해보세요!!

사용법은 {이미지:0 float:left} {이미지:0 float:right} 이런식입니다.
기존에는 align 같은 태그 속성이 들어갔었는데 변경후에는 스타일쉬트 를 써줘야 한다는 거에요.

확인해보시고 답변 부탁드립니다!!

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

$view[rich_content] = preg_replace("/{이미지\:([0-9]+)[:]?([^}]*)}/ie", "view_image2(\$view, '\\1', '\\2')", $view[content]);

function view_image2($view, $number, $attribute)
{
if ($view['file'][$number]['view'])
return preg_replace("/(\<img )([^\>]*)(\>)/i", "<div style='$attribute;text-align:center'>\\1 \\2 \\3<br>".$view['file'][$number]['content']."</div>", $view['file'][$number]['view']);
else
//return "{".$number."번 이미지 없음}";
return "";
}
?>
--------------------------
감사합니다. 완벽하게 해결되었습니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기
🐛 버그신고