[XML 문서 활용하기] 구글 뉴스 RSS HTML 적용 > 그누4 플러그인

그누4 플러그인

그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다.
플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

[XML 문서 활용하기] 구글 뉴스 RSS HTML 적용 정보

[XML 문서 활용하기] 구글 뉴스 RSS HTML 적용

첨부파일

news_rss.tar (10.0K) 355회 다운로드 2012-03-10 02:27:07

본문

구글의 뉴스 RSS를 받아와서 HTML로 적용시키는 프로그램입니다.

원하시는 분야의 뉴스만을 적용하려면 구글에서 원하는 키워드로 뉴스 검색을 한 후

하단의 RSS마크를 클릭하시면 해당분야 뉴스의 rss 링크를 확인할 수 있습니다.

이 부분을 프로그램 소스에서 url 부분에 입력하시면 됩니다.

이 프로그램은 simpleXML_load_file()함수의 활용 예시이므로, 응용하시면 다른 xml문서도

쉽게 파싱할 수 있습니다.
추천
1
  • 복사

댓글 전체

적용하다 에러가 나서 확인해보니

simpleXML_load_file()함수는 allow_url_fopen on으로 설정되어 있어야 하는데 호스팅에서 off로 되어 있다네요.

이거참...

문의했더니

해당 함수를 사용하실 수는 있으나, 외부 xml 파일을 읽어 오는것은 제한되어 있습니다.
(allow_url_fopen off로 설정되어 있습니다.)
 
이렇게 답변이 왔네요.

http://blog.acronym.co.kr/246 이글을 참조해도 해결을 못했네요.

다른 방법 아시는 분 답변좀 부탁드립니다.
소스 수정하여 업로드 시켰습니다.

소스 다시 다운로드 하여 확인해보세요


allow_url_fopen 이 차단되어 xml을 읽어오지 못하는 경우를 위해 아래와 같은 내용을 추가했습니다.


if(ini_get('allow_url_fopen')) {
  $xml = simpleXML_load_file($url);
}else{
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $xml_raw = curl_exec($ch);
  $xml = simplexml_load_string($xml_raw);
}
감사합니다.

수정해주신 것을 적용하니 잘 됩니다.

다만, 사용하는 빌더(배추)에 붙이려고 하니 새창으로 떠서 이게 고민입니다.

배추에서 소메뉴로 붙이려고 하니 헤드와 테일을 불러오지 못하고 에러가 나네요.

배추에서 소메뉴로 불러오는 것을 해결하고 나면 관련 답변 올리겠읍니다.

고맙읍니다.
감사합니다.
http://www.paramall.kr/plugin/news_rss.php
그런데 이걸 메뉴 눌렀을때 나오게할려면 어떻게 해야 하죠? 서브로요? 아이프레임을 써야 하나요?
출력물이 10개가 기본으로 나오는데요..    5개만 나오게 할수 없냐고 메일로 문의 하니 답을 주셨습니다.

아래 코드 부분만  대체  적용하면  원하는 갯수의 뉴스가 출력됩니다..


<?

$total = 5;
$i = 1;

foreach($xml['channel']['item'] as $rss){

  $rss['description'] = str_replace('<a ', '<a target="_blank" ', $rss['description']); //링크 타겟 새창으로 설정

  if($i<=$total){
?>


  <div style="padding: 10px;">
    <span style="color:#00A5FF; font-weight:bold;"><?=htmlspecialchars($rss['title'])?></span>  <br/>
    <span style="color:#323232; text-decoration:none;"><?=$rss['description']?></span>  <br/>
    <span style="color:#323232;">기사 작성일 : <?=date('Y년 m월 d일 H:i:s', strtotime($rss['pubDate']))?></span>  <br/>
    <div style="border-bottom: 1px solid #5ACCFF;"></div>
    <br/><br/>
  </div>
 
<?
  }//end if
  $i++;
} //end foreach
© SIRSOFT
현재 페이지 제일 처음으로