[PHP & XML] RSS 만들기
Posted at 2012. 8. 12. 19:26 | Posted in 프로그래밍비트맵 미러에 필요하진않지만 있으면 좋을 것 같아서 적용해봤다. 비트맵 미러에서 검색창 밑에 메뉴 상자에 RSS라고 써져있는게 오늘 만들어 볼 RSS다.
RSS 만드는데 있어서 필수적인 요소만 뽑아보면 다음과 같다.
<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>RSS 제목</title> <description>RSS 설명</description> <link>RSS의 원본 사이트 주소</link> <item> <title>항목 제목</title> <description>항목 내용</description> <link>항목 주소</link> </item> </channel> </rss>
간단하다. 예전엔 RSS하면 지레 겁부터 먹었는데; XML 홈페이지 만들기 같이 무서운 책 읽어서 그런가..
각설하고, 각 요소에 들어가는 특수문자들은 <처럼 php의 htmlspecialchars()나 htmlentities()로 인코딩되어야한다.
바로 php로 위의 RSS를 만들어보자.
<?php header('Content-Type: text/xml; charset=utf-8'); echo '<?xml version="1.0" encoding="UTF-8"?>'; ?> <rss version="2.0"> <channel> <title>나는 RSS</title> <link>http://<?=$_SERVER['HTTP_HOST']?>/</link> <description>최신글을 뽑아오지</description> <?php foreach($result as $i) { foreach($i as $key=>$val) $i[$key] = htmlspecialchars($val); ?> <item> <title><?=$i['title']?></title> <link>http://<?=$_SERVER['HTTP_HOST'].'/'.$i['id']?></link> <description><?=$i['content']?></description> <author><?=$i['author']?></author> <pubDate><?=date('D, d M Y H:i:s O', strtotime($i['date'])?></pubDate> </item> <?php } ?> </channel> </rss>
위 뼈대에 mysql등 데이터베이스와 연동시켜 사용하면 되겠죠?