그누보드의 특징같은데....
본문
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
예를 들어 아래의 코드 등으로 우회해서 한번 해보시겠어요..
참고
<!-- 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>