PHP & Others

PHP로 RSS를 간단히 만들기

컨텐츠 정보

본문

나같은 노땅 코더에게 뜬금없이 떨어진 RSS ~~

PHP 로 되어 있는 게시판에 RSS를 달고 싶단다.....그래서 관련문서를 찾아봤다~

@.@ 졸~ 어....어렵다!! (망했군~)

암튼 어렵게 살고 싶지 않아서 쉽게 정리해본다~~ 나의 믿지 못할 기억력을 위하여~~

<?

header("Content-Type: application/rss+xml");
header('Content-Type: text/xml');

$now = date("D, d M Y H:i:s T"); // 시간 지정 (현재시간 단위~ )

echo "

// 머리부분 ~ 한번만 정의하면 된다

<?xml version=\"1.0\" encoding=\"euc-kr\"?>
    <rss version=\"2.0\">
        <channel>
        <title>제목 되시겠다</title>
        <link>링크주소를 써넣자</link>
        <description>간단한 설명글을 넣자</description>
        <language>ko</language>
        <pubDate>$now</pubDate> // XML이 만들어진 시간을 입력한다.
        <lastBuildDate>$now</lastBuildDate>
        <docs>걍 난 링크를 넣었다</docs>
        <managingEditor>이멜@주소</managingEditor>
        <webMaster>이멜@주소</webMaster>";


while (조건문... 어쩌고 저쩌고)
{

// 아이템 부분만 반목문으로 돌려주면 된다.
// 변수 부분은 개발자 마음대로 정의해서 사용하시길~

$name        = "작성자";
$use_type   = "카테고리";
$subject      = "제목";
$link           = "www.도메인.co.kr/페이지.php?변수1=변수값&amp;변수2=변수값2";
$Date          = date('r', strtotime($날짜컬럼)); //주로 아이템이 갱신된 날짜를 입력한다.
$descript     = "간단한 설명글을 넣는다~ 게시판이라면 본문의 일부를 넣어도 되고~"; 

참고로 XML 에서 예약문자는

< (less-than sign)      ==> &lt;
> (greater-than sign)  ==> &gt;
& (ampersand)          ==> &amp;

식으로 표현을 해줘야 한다.

그런데 일일이 예약문자를 파싱하기 번거롭다.
다행히 PHP는 htmlentities라는 함수로 처리가 가능하다.

참고로 한글이 들어가 있는 경우라면 htmlspecialchars 로 처리하고
읽는쪽에서 UTF-8의 경우 iconv 를 이용하여 변환하여 주면 된다.

echo "
        <item>
        <author>".$name."</author>
        <category>".$use_type."</category>
        <title>".$subject."</title>
        <link>".htmlentities($link)."</link>
        <guid>".htmlentities($link)."</guid>
        <pubDate>".$Date."</pubDate>
        <description>".$descript."</description>
        </item>";

}

//채널과  rss 정의를 마무리...

echo "</channel>
         </rss>";

참고로 아래 그림처럼 부라우져에서 RSS 피드 아이콘이 보이게 하려면


<head> 와 </head> 사이에

<link rel ="alternate" type="application/rss+xml" href="RSS 링크주소" title="제목" />

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
“무릇 물이란 지세를 따라 흐르되 작은 틈도 놓치지 않고 적시니 지혜를 갖춘 자와 같고, 움직이면서 아래로 흘러가니 예를 갖춘 자와 같으며, 어떤 깊은 곳도 머뭇거리지 않고 들어가니 용기를 가진 자와 같고 장애물이 막혀서 갇히면 고요히 맑아지니 천명을 아는 자와 같으며, 험한 곳을 거쳐 멀리 흐르지만 끝내 남을 허물어뜨리는 법이 없으니 덕을 가진 자와 같다. 천지는 이것으로 이루어지고, 만물은 이것으로 살아가며, 나라는 이것으로 안녕을 얻고, 만사는 이것으로 평안해지며, 만물은 이것으로 바르게 되는 것이다. 이것이 지혜로운 자가 물을 좋아하는 이유이다.” (한영, <<한시외전>>)