최신글 노출 시 특수문자 html로 노출되는 현상
본문
현재 위와같이 쌍따옴표중의 한 부분이 저렇게 코드로 노출되고 있습니다.
혹시 글자수를 늘리거나 줄이면 정상 노출될까 싶어 조절해보니, 오히려 오른쪽 쌍따옴표까지 코드로 노출되더라구요.
글자수를 인식함에따라 해당 오류가 발생하는거 같은데, 어떻게 수정하면 고칠 수 있을까요?
해당 부분 소스
<?
//공지사항 게시판 가져온다.
get_main_list("notice");
?>
<div class="col_sm_12 main_notice float_l">
<div class="title over_h">
<h2 class="float_l font_18">공지사항</h2>
<a class="float_r" href="/bbs/board.php?bo_table=notice"><img src="/images/plus.svg" alt=""></a>
</div>
<ul>
<?
foreach($list as $key => $value){
?>
<? if($key == 0){?>
<li class="first">
<a href="<?=$view_link[$key]?>">
<h1 class="font_25"><?= conv_subject($list[$key]['subject'], 35, '…');?></h1>
<p><?=cut_str(strip_tags($list[$key]['wr_content']),60,"…")?></p>
</a>
</li>
<?}else{?>
<li class="list">
<a href="<?=$view_link[$key]?>">
<h2 class="font_25"><?= conv_subject($list[$key]['subject'], 35, '…');?></h2>
</a>
</li>
<?}?>
<?}?>
</ul>
</div>
latest 소스
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
?>
<div class="notice">
<h2><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only"><?php echo $bo_subject ?></span></a></h2>
<ul>
<?php for ($i=0; $i<count($list); $i++) { ?>
<li>
<?php
if ($list[$i]['icon_secret']) echo "<span class=\"lock_icon\"><i class=\"fa fa-lock\" aria-hidden=\"true\"></i></span> ";
if ($list[$i]['icon_new']) echo "<span class=\"new_icon\">N<span class=\"sound_only\">새글</span></span>";
//echo $list[$i]['icon_reply']." ";
echo "<a href=\"".$list[$i]['href']."\">";
if ($list[$i]['is_notice'])
echo "<strong>".$list[$i]['subject']."</strong>";
else
echo $list[$i]['subject'];
if ($list[$i]['comment_cnt'])
echo $list[$i]['comment_cnt'];
echo "</a>";
// if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
// if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
//if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
//if ($list[$i]['icon_link']) echo " <i class=\"fa fa-link\" aria-hidden=\"true\"></i>" ;
//if ($list[$i]['icon_hot']) echo " <i class=\"fa fa-heart\" aria-hidden=\"true\"></i>";
?>
</li>
<?php } ?>
<?php if (count($list) == 0) { //게시물이 없을 때 ?>
<li class="empty_li">게시물이 없습니다.</li>
<?php } ?>
</ul>
</div>
<?php if (count($list)) { //게시물이 있다면 ?>
<script>
$('.notice ul').bxSlider({
hideControlOnEnd: true,
pager:false,
nextText: '<i class="fa fa-angle-right" aria-hidden="true"></i>',
prevText: '<i class="fa fa-angle-left" aria-hidden="true"></i>'
});
</script>
<?php } ?>
답변 1
http://www.happyjung.com/lecture/1318 요거 참고
그누보드에서는 글 줄여서 보이는 함수가 준비되어 있습니다.
사용법은 다음과 같습니다.
<?php echo conv_subject($list[$i]['wr_subject'], 글자수, "..."); ?>
<?php echo conv_subject($wr_subject, 글자수, "..."); ?>
<?php echo cut_str("문자열", 글자수); ?>