그누보드의 특징같은데.... 채택완료

1개월 전 조회 138

iframe을 이용해 네이버 블로그를 그누보드에서 보여지게할 때

 

view.skin.php의 내용보기 부분에 

div하나 만들어 iframe src="<? echo $view['wr_1'] ?>와 같이 해놓고

wr_1에 네이버블로그 주소값을 넣으면 

view화면에서 아이프레임내에서 네이버 블로그가 보입니다.

 

그런데

wr_1에 

<div>

<iframe src="네이버블로그주소">

</div>

</div> 전체를 db에 저장하여

view.skin.php내에서 <? echo view['wr_content'];?>하면 view화면내에 하얗게 보입니다.

그런데 그 글의 html 수정모드에서는 아이프레임내에서 해당블로그가 출력됩니다.

 

이는 그누보드의 특징같은데 잘모르겠네요.

 

기능상 db에 <iframe>태그를 저장해서 출력해줘야 하는데

방법이 없을까요?

답변 1개

채택된 답변
+20 포인트

예를 들어 아래의 코드 등으로 우회해서 한번 해보시겠어요.. 

 

참고

 

 

<!-- view.skin.php -->

 

<?php
// wr_1 필드 값 가져오기
$iframe_url = $view['wr_1'];

// 만약 wr_1에 [iframe]URL[/iframe] 형식으로 저장되어 있다면
if (preg_match('/\[iframe\](.*?)\[\/iframe\]/s', $view['wr_content'], $matches)) {
    $iframe_url = $matches[1];
}

// 또는 wr_1에 URL만 저장되어 있다면
if (!empty($iframe_url)) {
    // URL 검증 (보안)
    if (filter_var($iframe_url, FILTER_VALIDATE_URL)) {
        echo '<div class="iframe-container">';
        echo '<iframe src="' . htmlspecialchars($iframe_url) . '" width="100%" height="600" frameborder="0"></iframe>';
        echo '</div>';
    }
}
?>

<!-- 기존 내용 출력 -->
<div class="view-content">
    <?php echo $view['wr_content']; ?>
</div>

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다. 제가 잘못올렸네여. wr_1이 아니라 wr_content에 저장되었을 때입니다.

echo '<div class="iframe-container">';
echo '<iframe src="' . htmlspecialchars($iframe_url) . '" width="100%" height="600" frameborder="0"></iframe>';
요 부분이 wr_content에 저장되어 있을 때 출력되지 않는 것 같아요.

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고