RadarURL
웹 프로그래밍

MagpieRSS: Flexible RSS Parser in PHP, supporting Caching

by JaeSoo posted Nov 11, 2012
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

MagpieRSS 0.72 (http://magpierss.sourceforge.net)는 PHP 환경에서 XML 기반의 RSS 분석을 지원합니다. RSS 0.9-1.0, 그리고 RSS 2.0 과 Atom을 몇가지 제약사항을 두고 지원합니다. 특징을 나열하면 다음과 같습니다.

  • Integrated Object Cache
  • HTTP Conditional GET’s
  • SSL

간단한 사용예를 적어보면 다음과 같습니다.

require_once 'rss_fetch.inc';

$url = 'http://magpie.sf.net/samples/imc.1-0.rdf';
$rss = fetch_rss($url);

echo "Site: ", $rss->channel['title'], "<br>
";
foreach ($rss->items as $item ) {
	$title = $item[title];
	$url   = $item[link];
	echo "<a href=$url>$title</a></li><br>
";
}

UTF-8 Issue

만약 한글이 나오지 않는다면 아래의 절차를 따라해보세요.

  1. rss_fetch.inc에 다음의 상수를 선언합니다. 기본값은 ISO-8859-1 임을 알 수 있습니다.
    <code>define('MAGPIE_INPUT_ENCODING', 'UTF-8');
    define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');</code>
  2. Apache 환경변수에 AddDefaultCharset UTF-8 가 설정되어있는지 확인한다.

Disable Caching

기본 설정으로는 fetch_rss()를 호출한 디렉토리에 cache라는 폴더를 만들어 파싱한 RSS를 담고 있습니다. eTag등을 조회하여 새로 변경된 아이템만 다시 파싱합니다. 혹시 소스를 수정할 일이 있어서 다시 파싱을 해야하거나 새로 파싱하면서 디버깅을 할 경우는 캐쉬를 꺼주는 것이 좋습니다.

rss_fetch.inc에 다음으로 설정해줍니다.

<code>define('MAGPIE_CACHE_ON', false);</code>

출처 : http://wityworks.com/wp/?cat=862

TAG •

Articles

1 2 3 4 5 6 7 8 9 10