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
만약 한글이 나오지 않는다면 아래의 절차를 따라해보세요.
- rss_fetch.inc에 다음의 상수를 선언합니다. 기본값은 ISO-8859-1 임을 알 수 있습니다.
<code>define('MAGPIE_INPUT_ENCODING', 'UTF-8'); define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');</code>
- Apache 환경변수에 AddDefaultCharset UTF-8 가 설정되어있는지 확인한다.
Disable Caching
기본 설정으로는 fetch_rss()를 호출한 디렉토리에 cache라는 폴더를 만들어 파싱한 RSS를 담고 있습니다. eTag등을 조회하여 새로 변경된 아이템만 다시 파싱합니다. 혹시 소스를 수정할 일이 있어서 다시 파싱을 해야하거나 새로 파싱하면서 디버깅을 할 경우는 캐쉬를 꺼주는 것이 좋습니다.
rss_fetch.inc에 다음으로 설정해줍니다.
<code>define('MAGPIE_CACHE_ON', false);</code>