티스토리 뷰

Language/PHP

RSS 읽는 괜찮은 함수

MiniNeko 2015. 11. 29. 04:05

확인전 자료
http://www.zetswing.com/bbs/board.php?bo_table=PHP_LEC&wr_id=21&page=3

PHPSCHOOL.COM의 주선님이 만드셨습니다. 감시 잘 쓸게요.*^^*

 

< ? 
// PHP RSS Reader v0.1 
// Code By Jusun at 2007-01-25 
// 라이센스 : FREE ... 소스로 인한 뒷일은 책임 못짐... 

// RSS 읽어오기 
function getRSS($url)

 $fd = fopen ($url, "r"); 
 while (!feof ($fd))
 {
  $buffer .= fgets($fd, 4096); 
 }
 fclose ($fd); 
 return $buffer; 


// 내용만 뽑아내기 
function parseTag($tag,$value)

 $value =  explode("</".$tag.">",$value); 
 $value = explode("<".$tag.">",$value[0]); 
 return $value[1]; 


//한글 자르기 
function hstrCut($msg,$cut_size,$end_str = "...")
{
 if( (strlen($msg) > $cut_size) & ($cut_size > 0) )
 {
  $msg = substr($msg,0,$cut_size); 
  $msg = preg_replace("/(([x80-xFE].)*)[x80-xFE]?$/","1",$msg); 
  $msg .= $end_str; 
 }

 return $msg; 


// 보여지는 부분 
function RSS_reader($count,$url, $str_len, $encode = "EUC-KR")


 $channel = parseTag("channel",getRSS($url)); 

 // 인코딩 변환 
 if($encode == "UTF-8")
 {
  $channel = iconv("UTF-8","EUC-KR",$channel); 
 }

 $channel = str_replace("</item>","",$channel); 
 $item = explode("<item>",$channel); 

 // 제목 처리 
 $siteTitle = parseTag("title",$item[0]); 
 $siteLink = parseTag("link",$item[0]); 
 $siteDescription = parseTag("description",$item[0]); 

 //# 사이트 제목 출력
 //$html = "<br />"; 

 //각 게시물 제목 처리
 for($i=1;$i<=$count;$i++)
 { 
  if(!isset($item["$i"])) break; 

  //# 제목 가져오기 
  //# <![CDATA[~~]]>가 포함되어 삭제함
  $title = parseTag("title",$item[$i]); 
  $title = str_replace("<![CDATA[","", $title);
  $title = str_replace("]]>","", $title);
  $title = hstrCut($title, $str_len); 

  //# 링크 가져오기 
  //# <![CDATA[~~]]>가 포함되어 삭제함
  $link = parseTag("link",$item[$i]); 
  $link = str_replace("<![CDATA[","", $link);
  $link = str_replace("]]>","", $link);

  //내용 가져오기 
  $description = parseTag("description",$item[0]); 

  $html .= "<a href="$link" target="_blank">$title</a> <br />";
 }

 // 출력 
 echo $html; 

}

 //# UTF-8로 된 사이트의 RSS를 읽어서 EUC-KR로 된 사이트에 출력함

 RSS_reader("5","http://www.zetgame.co.kr/?module=rss&act=rss", "30", "UTF-8"); 

?>

'Language > PHP' 카테고리의 다른 글

다차원 배열 정렬 - array_multisort()  (0) 2015.11.29
switch - 스위치  (0) 2015.11.29
2개 DB 연결  (0) 2015.11.29
정규식 - 자주사용하는  (0) 2015.11.29
mysql_query 의 두가지 문법  (0) 2015.11.29
Total
Today
Yesterday
최근에 올라온 글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31