ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PHP] 제로보드에 RSS를 지원하기
    개발/웹 2007. 4. 10. 00:14

    *제로보드에 RSS를 지원할수 있습니까?


    1. 제로보드용 RSS 생성기1 [rss_generator]

    http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=rss&select_arrange=headnum&desc=asc&no=5209


    2. 제로보드용 RSS 생성기1 [zero2rss]

    http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=rss&select_arrange=headnum&desc=asc&no=4936


    3. 설치형 블로그 ZOG를 이용한 RSS 지원http://www.zog.co.kr

       기존 제로보드를 그대로 사용여 블로그를 사용할 수 있는 장점이있습니다.


    *홈페이지에 어떻게 RSS지원할수 있습니까?
    RSS는 새로운 게시물을 보여주고 확인하기 위한 스펙입니다.
    새로만드는게 아니고, CGI를 이용해서 기존의 내용물을 RSS 스펙에 맞게 재가공하는 것이다. 따라서 RSS 관련 스펙을 살펴보고, 기존 게시판등을 RSS에 맞게 보여주면 된다.

    다음은 조선일보에 RSS문서중 전체기사에 대한 XML 문서이다.

     

    사용자 삽입 이미지


    rss라는 노드를 루트로 해서, 하나의 channel과 여러개의 item 들이 존재하는 것을 보실 수 있다.

    channel 구역은 여러분의 사이트에서 현재의 RSS가 제공하는 서비스가 무엇인지 기술하는 구역이라고 보면 된다. 이 구역의 필수 요소로는 title, link, description이 있다. (이 부분은 RSS 2.0 스펙을 보시면 자세히 나옵니다) 위 샘플에서는 필수 요소외에 language와 lastBuildDate를 추가로 사용하고 있습니다. 그 외에도 많은 하위 요소들을 원한다면 사용할 수 있습니다. 그것은 여러분들이 적절히 선택하시면 될 것 같습니다. 여기서는 channel 요소가 가져야 할 하위 요소로는 위에서 보여지는 8개 정도만 사용해 보도록 하겠습니다.

    channel 하위로는 이제 실제로 데이터 목록에 해당하는 item 요소가 반복되기 시작합니다. item 요소가 사실 RSS의 핵심입니다. 이 요소는 실제 데이터의 간추린 요약정보 및 링크정보 등을 제공해 주고있습니다.

    item 요소도 channel처럼 기본적으로 title, link, description을 하위 요소로 가질 수 있습니다. 그 외에도 author, category, comments, pubDate, enclosure, guid 등의 요소들도 가질 수 있습니다. 대부분의 요소의 역할은 이름만 봐도 알 수 있겠지만, 잘 이해가 도지 않으면, RSS 2.0 Specification을 한번 참고하면 좋을 듯하다.

    [http://blogs.law.harvard.edu/tech/rss]


    사용자 삽입 이미지


    *RSS 문서 작성

     - PHP 언어로 예를 든 RSS 문서 작성

    PHP 라이브러리중 PEAR 패키지에는 XML 관련 함수가 다수 지원되며, 특히 RSS 문서를 작성하기에 적절한 함수들이 다수 포함되어 있다.
    예를 들어<PHP 패키지 설치디렉토리>/XML/Util.php파일에는
    getXMLDeclaration(),
    getDocTypeDeclaration(),

    AttributesToString(),

    CreateTag(),
    createStartElement(),
    createEndElement(),
    createComment(),
    createCDataSection()  이하 함수 파라미터 생략
    등 많은 XML 관련 함수들을 이용하여 RSS 문서를 만들어 낼 수 있다.


    - 사용예

    아래와 같이 XML 관련 함수를 이용하면 매우 편하게 RSS 규약을 만족하는 문서를 제작할 수 있다.

    (XML 관련 함수를 사용하지 않더라도 표준출력문 (PHP 의 echo 또는 JSP 의 <%= %>, ASP 등의 response.write 문등) 을 이용하여 <, /, ?, !, [, ], >, 등의 부호들을 포함시켜 직접 XML 코드를 만들어 내도 상관이 없다.

    사용자 삽입 이미지


    아래 예제를 rss.xml로 저장을 하시면 됩니다.

    http://www.ohmynews.com/make_file/rss/를 참고하였습니다.

    <?xml version="1.0" encoding="euc-kr" ?>

    <rss version="2.0">

       <channel>

          <title>오마이뉴스</title>

          <link>http://www.ohmynews.com/</link>

          <description>뉴스게릴라들의뉴스-오마이뉴스</description>

          <language>ko</language>

          <copyright>Copyright (c) OhmyNews.com All rights reserved</copyright>

          <lastBuildDate>Fri, 8 Apr 2005 14:30:20 +0900</lastBuildDate>


          <item>

            <title><![CDATA[ '거창 민간인 학살사건' 위령제 11일]]> </title>

            <link>http://www.ohmynews.com/ArticleView/article_view.asp?

    no=219789&amp;rel_no=1</link>

            <description><![CDATA[ 한국전쟁 전후 거창지역 민간인 희생자  합동…  ]]> </description>

            <category>사회</category>

          </item>

       </channel>

    </rss>

    이렇게 만드셨으면 여러분의 로컬 웹 사이트에 이 파일을 올립니다. 위치는 어디여도 무관하겠습니다만, 편의를 위해서 C:\inetpub\wwwroot 에 넣어두는게 좋습니다. 기본적으로 그 위치가 웹 루트 디렉토리입니다.

    RSS 리더기인 연모를 이용해서 방금 추가한 RSS를 읽어보도록 하겠습니다.

    사용자 삽입 이미지


    ----------------------------------------------------------------------------------



    출처:http://kin.naver.com/db/detail.php?d1id=1&dir_id=108&eid=yQNUijkXkgyBAwdAddXmr8OAiZY42fuP&qb=emVybzJyc3M=


    네이버검색어: zero2rss





    <참고>

    RSS 수집기:
    http://finegood.posville.co.kr/bbs/zboard.php?id=paz_skin&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=58

    트랙백:
    http://finegood.posville.co.kr/bbs/zboard.php?id=paz_skin&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum

Designed by Tistory.