<?
// 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,$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 = "[<a href=\"$siteLink\" target=\"_blank\">$siteTitle</a>]<br />";
//각 게시물 제목 처리
for($i=1;$i<=$count;$i++){
if(!isset($item["$i"])) break;
//제목 가져오기
$title = hstrCut(parseTag("title",$item[$i]),30);
//링크 가져오기
$link = parseTag("link",$item[$i]);
//내용 가져오기
$description = parseTag("description",$item[0]);
$html .= "<a href=\"$link\" target=\"_blank\">$title</a> <br />";
}
// 출력
echo $html;
}
?>
함수의 사용법은 다음과 같습니다.
RSS_reader("7","http://blog.jusun.org/tt/rss","UTF-8");
RSS_reader("가져올갯수","RSS주소","인코딩");
인코딩은 UTF-8 또는 생략 가능입니다. 생략하면 EUC-KR로..
RSS가 잘 안읽어지면 UTF-8 , EUC-KR 왔다갔따 바꿔보세요.. ^^
'PHP∵SCRIPT' 카테고리의 다른 글
PHP 코딩 스타일 (0) | 2014.04.01 |
---|---|
썸네일개요 및 함수정리 (0) | 2014.04.01 |
파일 다운로드 함수(멀티 이어받기/속도제한) (0) | 2014.03.31 |
php로 작성한 간단 RSS2.0 리더 (0) | 2014.03.31 |
태어난 요일 계산하기 (특정일의 요일 계산) (0) | 2014.03.28 |
zend encode 를 사용하지 않고 PHP 소스 안보이게 하는 방법 ? (0) | 2014.03.28 |
원격지 파일의 존재 여부를 체크 사용자 함수 (0) | 2014.03.26 |
PHP에서 특수문자 없애는 정규표현식 (0) | 2014.03.25 |
댓글