옆동네 소스... 도움좀 부탁드립니다.. iframe이 안먹혀서요.. 채택완료
우선 여기다 글 쓰는게 죄송합니다..
사이트 하나 더 만드려고 하는데.. 이번엔 옆동네꺼로 만들어 볼 생각인데요..
아무리 그쪽 게시판에 글을 남겨도 알려주는 이 하나 없더라구요..
그래서 어쩔수 없이.. 여기 옆동네 소스도 만질줄 아시는 분들이 계신걸로 알고
문의글 남겨봅니다... 도움좀 부탁드려요ㅠㅠ
---------------
iframe 태그가 안 먹힙니다..
제가 직접 하면 태그가 먹히는데
rss 리더기... 즉 rss로 되어 있는 것을 그냥 가져올땐 iframe 태그가 전혀 먹히지 않습니다..
고수님들 도움좀 부탁드립니다..
보안상으로 막아서 rss 리더기로 안되는것인지요...?
혹시 이것을 없애는 방법은 없는지 해서요..
대충 소스를 보니..
width="100%" height="220" type="application/x-shockwave-flash" allowfullscreen="true" allowfullscreen="1" frameborder="0" scrolling="no" marginheight="0" marginwidth="0">
이렇게 링크를 걸어버리네요...;; 아니면 html 소스가 적용이 안되는것인지요....
xe에서 제공하는 rss 리더소스를 보면 (최신버전 GG님꺼)
// 최종 업데이트 일 이후에 작성된 글을 대상 게시판에 추가
foreach(array_reverse($items,true) as $item)
{
if ($last_updatedate > $item->get_date('U') )
continue;
$obj = null;
$obj->title = htmlspecialchars_decode($item->get_title());
// item link 를 가져오지 못할 경우 불가피하게 RSS 주소 사용
if($item->get_link())
$link = $item->get_link();
$obj->content = $item->get_description();
$obj->module_srl = $rssboard->module_srl;
$obj->member_srl = $this->admin_info->member_srl;
$obj->user_id = $this->admin_info->user_id;
$obj->user_name = $this->admin_info->user_name;
$obj->nick_name = $this->admin_info->nick_name;
$obj->email_address = $this->admin_info->email_address;
$obj->regdate = $item->get_date('YmdHis');
$obj->category_srl = $rssboard->category_srl;
$obj->allow_comment = 'Y';
$output=$oDocumentController->insertDocument($obj,true);
}
// 최종 업데이트 시간 저장
$args = null;
$args->updatetime = $updatetime;
$args->rssboard_srl = $rssboard->rssboard_srl;
$output = executeQuery('rssboard.updateRssboardDate',$args);
}
위 빨간색 부분이 문제 같은데 도저히 초보라 모르겠습니다...
html 적용되게 하려면 어떻게 해야 하나요...
고수님들의 도움좀 부탁드립니다...
답변 2개
rss로 가져오는 경우는 해당글의 html옵션값을 넣어줘보세요.
일반텍스트로 인식해서 도메인이 들어가면 자동링크 걸리고 html태그는 변환되서 나오는듯 싶습니다.
저도 자세히는 모르겠으나.. 뭔지 모르시겠다면
$obj->allow_comment = 'Y';
이거 아래에
$obj->use_html = 'Y';
추가해보세요.
답변에 대한 댓글 6개
소스를 보신건가요 개발자도구에서 보신건가요? 저 경우는 소스를 보셔야 정확할듯합니다.
<iframe 이렇게 되있는게 아닐지..
XE 자체에서 iframe을 거르는 기능이 있는지는 알지 못하겠고.. 일일이 뒤져보자니 좀;;
역시 디테일은 옆동네에서 질문하시는게 나을듯 싶어요.. ^^;
그누보드4와 5 모두 iframe은 본문에서 허용되지 않는 코드입니다.
다만 그누보드5의 경우에는 plugin/htmlpurifier/safeiframe.txt 에서 허용할 도메인을 넣어주면 태그적용이 정상적으로 되는걸로 알고있습니다. 기본값으로 유투브와 비메오, 다음비디오와 네이버관련이 들어있군요.
RSS를 뿌리는 그누보드의 버전이 4라면.. 특별히 예외처리를 만드셔야 할듯하네요..
common.lib.php의 conv_content()함수에서 html사용일경우 맨 마지막 bad_tag_convert()를 호출합니다. 그러니 conv_content()함수에서 기본값이 false인 인자를 추가해 그 부분을 패스할 수 있도록 처리해줘야 할겁니다.
function conv_content($content, $html, $bad_tag_pass=false) {}
if(!$bad_tag_pass) $content = bad_tag_convert($content);
이런식으로요.
그러고나서 rss.php에서 conv_content($row[wr_content], $html, true) 이렇게 호출하면 될듯합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인