sir 사이트 rss 로 뿌려주기.. > 그누3 팁자료실

그누3 팁자료실

sir 사이트 rss 로 뿌려주기.. 정보

기타 sir 사이트 rss 로 뿌려주기..

본문

요즘 이곳에도 XML 바람이 부는군요..
예전부터 몇몇 사이트들을 긁어다가 rss로 만들어서 사용하곤 했는데 이곳 sir은 이번에 만들게 되었습니다.
요즘 XML로 정보제공을 하는 사이트들도 많아졌고..
이곳 sir도 그럴 계획이 있는지 모르지만..
그냥 제가 편하자고 만들었습니다.
sir은 로그인을 해야지만 글을 볼수 있는 게시판들이 많아서 커뮤니티의 자유게시판을 긁어다가 만들었습니다.
처음엔 소켓으로 접속해서 긁어 올려고 했는데 자꾸 이상한 게임관련 사이트가 나오더군요.
아무튼 필요하신분은 조금만 손보면 다른 사이트들도 변환할수 있을겁니다.
위의 링크 참고 하시기 바랍니다.

<?php

function html_replace($text)
{
    $text=ereg_replace("&([^#])","&\\1",$text);
    $text=str_replace("\"",""",$text);
    $text=str_replace("<","<",$text);
    $text=str_replace(">",">",$text);
    return $text;
}

Header("Content-type: text/xml");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache"); 

echo"<?xml version=\"1.0\" encoding=\"ks_c_5601-1987\"?>
<!--  RSS generated by http://naraorum.com on ".date('m/d/Y; H:i:s')."  -->
<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">
<channel>
<title>sir.co.kr - 자유게시판</title>
<link>http://sir.co.kr</link>
<dc:language>ko</dc:language>
";

$fp = fopen("http://sir.co.kr/index.php?doc=bbs/gnuboard.php&bo_table=talkbox", "r");

while(!feof($fp)) {
    $file .= fgets($fp,1024);
}
fclose($fp);

$file = eregi_replace("^.+Hits</span></a></td>\n        </tr>", "", $file);
$file = eregi_replace("</form>\n<tr>.+$", "", $file);

$data = explode("<tr align=center>", $file);

for ($i=1; $i<count($data); $i++) {
   
    $data1 = explode("</td>", $data[$i]);
   
    $data1[2] = trim(preg_replace("/<img(.*?)>/", "", $data1[2]));
   
    $str[category] = trim(strip_tags($data1[1]));
    $str[link]    = eregi_replace("^.+<a href=\'([^\"]+)\'.+$", "\\1", $data1[2]);
    $str[link]    = eregi_replace("^\.\/","http://sir.co.kr/", $str[link]);
    $str[link]    = html_replace($str[link]);
    $str[title]    = eregi_replace("&nbsp;|\n", "", $data1[2]);
    $str[title]    = trim(strip_tags($str[title]));
    $str[author] = trim(strip_tags($data1[3]));
    $str[author]    = eregi_replace("&nbsp;|\n", "", $str[author]);
    $str[author] = preg_replace("/gblayer\((.*?)\);/", "", $str[author]);
    $str[date]    = trim(strip_tags($data1[4]));
    $date          = explode("-", $str[date]);
   
    echo "<item>
        <title>[$str[category]] $str[title]</title>
        <link>$str[link]</link>
        <category>$str[category]</category>
        <dc:creator>$str[author]</dc:creator>
        <dc:date>$date[2]-$date[1]-$date[0] ". date('H:i:s'). "</dc:date>
        </item>
        ";
}
?>
</channel>
</rss>
추천
0

댓글 전체

나라오름님 어떤 소스를 드려야 하나요? 게시판 전체 소스가 있어야 하는지 아니면 view 소스만 있으면 되는지 알려주시면 쪽지로 부탁드리겠습니다.
언제봐도 그누회원 중엔 실력이 좋으신 분들이 엄청 많군요. 나도 열띠미 해야겠당 ㅡ.ㅡ;;
나라오름님  감사합니다. 이제 소스 분석들어 갑니다. 이미 몇가지 배운거 같네요.^^
제가 이소스를 만든 이유는..
어떤 일일히 사이트를 방문해야하는 번거로움과 귀차니즘이 발동하여 만든것입니다.
그냥 저 편하자고 만든건데..
위 소스는 그누보드를 rss로 자동 변환을 해준다거나 하는게 아니라..
sir 사이트의 게시판을 rss로 제공하는 겁니다..
추후 sir 사이트의 모든 게시판에 적용되는 rss를 제공할까 합니다.

// madem
정규표현식이라 문자열마다 다르게 적용되서 에러가 나는것 같습니다.
위 소스의 정규표현식은 sir사이트의 자유게시판에 쓰이는 스킨에 최적화 된거라..
다른 스킨은 에러가 발생할수도 있습니다.
자세한 소스 알려주시면 수정해드리겠습니다.
http://nemoddol.net/gnu/?doc=bbs/gbtorss20.php&bo_table=siha
너무 좋은 듯 합니다.
아주 실력 좋으신 분께서 이걸 게시판 스킨으로 읽을 수 있게 제작해 주셨으면 하는 바램입니다.
제로보드에선가 비베로 만들어 올리신 분을 본 듯합니다만..
다른 곳에 써볼까 했더니 Parse error: parse error in /home3/avworld/public_html/avshop/rsssir.php on line 6
와 같이 $text=str_replace("\"",""",$text); 부분에러가 나온는데, 왜그럴까요????????
그누보드의 모든게시판에 적용가능한것으로 하나 만들어 봤는데 자작프로그램에 있는 다음도 구경좀 해주세요.ㅋㅋㅋ
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=selfpds&wr_id=755

나라오름님 수고하셨습니다. (코멘트 여러번 지우고 다시 올려서 죄송합니다,)
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT