[XML 문서 활용하기] 구글 뉴스 RSS HTML 적용 정보
[XML 문서 활용하기] 구글 뉴스 RSS HTML 적용관련링크
첨부파일
본문
구글의 뉴스 RSS를 받아와서 HTML로 적용시키는 프로그램입니다.
원하시는 분야의 뉴스만을 적용하려면 구글에서 원하는 키워드로 뉴스 검색을 한 후
하단의 RSS마크를 클릭하시면 해당분야 뉴스의 rss 링크를 확인할 수 있습니다.
이 부분을 프로그램 소스에서 url 부분에 입력하시면 됩니다.
이 프로그램은 simpleXML_load_file()함수의 활용 예시이므로, 응용하시면 다른 xml문서도
쉽게 파싱할 수 있습니다.
원하시는 분야의 뉴스만을 적용하려면 구글에서 원하는 키워드로 뉴스 검색을 한 후
하단의 RSS마크를 클릭하시면 해당분야 뉴스의 rss 링크를 확인할 수 있습니다.
이 부분을 프로그램 소스에서 url 부분에 입력하시면 됩니다.
이 프로그램은 simpleXML_load_file()함수의 활용 예시이므로, 응용하시면 다른 xml문서도
쉽게 파싱할 수 있습니다.
추천
1
1
댓글 전체
전 호스팅에서 막아놔서 안되는데..
혹 다른 방법으로 하셨나요?
혹 다른 방법으로 하셨나요?
감사합니다.
감사합니다.~
고맙습니다.
적용하다 에러가 나서 확인해보니
simpleXML_load_file()함수는 allow_url_fopen on으로 설정되어 있어야 하는데 호스팅에서 off로 되어 있다네요.
이거참...
문의했더니
해당 함수를 사용하실 수는 있으나, 외부 xml 파일을 읽어 오는것은 제한되어 있습니다.
(allow_url_fopen off로 설정되어 있습니다.)
이렇게 답변이 왔네요.
http://blog.acronym.co.kr/246 이글을 참조해도 해결을 못했네요.
다른 방법 아시는 분 답변좀 부탁드립니다.
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);
}
소스 다시 다운로드 하여 확인해보세요
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);
}
오홋~ 이렇게 고마울수가~
새벽에 답변을 주셨네요.
지금 외출하니 돌아와서
적용해보고 답글 올리겠읍니다.
감사합니다.
새벽에 답변을 주셨네요.
지금 외출하니 돌아와서
적용해보고 답글 올리겠읍니다.
감사합니다.
수고 많으셨습니다. 감사합니다....^^
감사합니다.
수정해주신 것을 적용하니 잘 됩니다.
다만, 사용하는 빌더(배추)에 붙이려고 하니 새창으로 떠서 이게 고민입니다.
배추에서 소메뉴로 붙이려고 하니 헤드와 테일을 불러오지 못하고 에러가 나네요.
배추에서 소메뉴로 불러오는 것을 해결하고 나면 관련 답변 올리겠읍니다.
고맙읍니다.
수정해주신 것을 적용하니 잘 됩니다.
다만, 사용하는 빌더(배추)에 붙이려고 하니 새창으로 떠서 이게 고민입니다.
배추에서 소메뉴로 붙이려고 하니 헤드와 테일을 불러오지 못하고 에러가 나네요.
배추에서 소메뉴로 불러오는 것을 해결하고 나면 관련 답변 올리겠읍니다.
고맙읍니다.
해결했읍니다.
경로문제더군요.
그런데 구글에서 보는것보다 가져오는 뉴스의 숫자가 적더군요.
모두다 가져오기는 안되는 모양이죠? ^&^
경로문제더군요.
그런데 구글에서 보는것보다 가져오는 뉴스의 숫자가 적더군요.
모두다 가져오기는 안되는 모양이죠? ^&^
적용하니, 아래 메시지가 나옵니다.
Fatal error: Call to undefined function curl_init() in /public_html/plugin/news_rss.php on line 13
감사 합니다 !!
Fatal error: Call to undefined function curl_init() in /public_html/plugin/news_rss.php on line 13
감사 합니다 !!
이용하시는 호스팅이 fopen과 curl 모두 지원하지 않는 경우입니다.
감사합니다. 잘 사용하겠습니다.
감사합니다.
http://www.paramall.kr/plugin/news_rss.php
그런데 이걸 메뉴 눌렀을때 나오게할려면 어떻게 해야 하죠? 서브로요? 아이프레임을 써야 하나요?
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
아래 코드 부분만 대체 적용하면 원하는 갯수의 뉴스가 출력됩니다..
<?
$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
감사합니다~
너무 감사합니다.. 잘 활용하겠습니다..
감사합니다.