rss ³»¿ëÀ» ÆÄ½ÌÇÏ´Â °£´ÜÇÑ ÇÔ¼öÀÔ´Ï´Ù.
(rss ÆÄÀÏÀº fopenÀ̳ª fsocket µîµî ¾Ë¾Æ¼ Àоî¿À¼Å¾ßÇÕ´Ï´Ù;;)
HTML ÆÄ½Ì¿ëÀ¸·Îµµ »ç¿ë°¡´ÉÇÕ´Ï´Ù ´ú´ú;;
function _parser($tag, $str){
preg_match_all("/<".$tag.">(.*)<\/".$tag.">/iUs", $str, $match);
for($i=0, $total=sizeof($match[1]); $i<$total; $i++){
$match[1][$i]=str_replace("<![CDATA[", "", $match[1][$i]);
$match[1][$i]=str_replace("]]>", "", $match[1][$i]);
}
return $match[1];
}
¿ø¸®´Â °£´ÜÇÕ´Ï´Ù.
<a>
<b>ÇÏÇÏÇÏ</b>
<b>
<c>aaaÇÏÇÏÇÏ</c>
<c>222</c>
</b>
</a>
ÀÌ·±±¸Á¶¸¦ ÆÄ½ÌÇϽ÷Á°í ÇÒ¶§ $tmp º¯¼ö¿¡ À§ ³»¿ëÀÌ ÀÖ´Ù°í °¡Á¤ÇÒ¶§
* a ű׸¦ °¡Á®¿Ã¶§
$a = _parser("a", $tmp);
$a[0]ÀÇ °ª
<b>ÇÏÇÏÇÏ</b>
<b>
<c>aaaÇÏÇÏÇÏ</c>
<c>222</c>
</b>
* b ű׸¦ °¡Á®¿Ã¶§
$b = _parser("b", $a[0]);
$b[0]ÀÇ °ª
ÇÏÇÏÇÏ
$b[1]ÀÇ °ª
<c>aaaÇÏÇÏÇÏ</c>
<c>222</c>
* c ű׸¦ °¡Á®¿Ã¶§
$c = _parser("c", $b[1]); // µÎ¹øÂ° b ű׿¡¸¸ cűװ¡ µé¾îÀÖÀ¸¹Ç·Î
$c[0]ÀÇ °ª
aaaÇÏÇÏÇÏ
$c[1]ÀÇ °ª
222
----------------------------------------------------------------------------------------------
* UTF-8·Î ÀÎÄÚµù ó¸®Çϱâ
$data º¯¼ö¿¡ rss ³»¿ëÀÌ ÀÖÀ»°æ¿ì
if(preg_match("/encoding=\"(.*)\"/Us", $data, $match)){
if(strtolower($match[1]) != "utf-8"){
$data=iconv($match[1], "UTF-8", $data);
}
}
-------------------------------------------------------------------------------------------------
* À§ Á¤º¸¸¦ Åä´ë·Î RSS ÆÄ½ÌÇϱâ
$data º¯¼ö¿¡ rss Á¤º¸°¡ µé¾îÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.
list($channel) = _parser("channel", $data);
// RSS Á¦°øÇÏ´Â Á¦¸ñÀÔ´Ï´Ù.
list($channel_title) = _parser("title", $channel);
// RSS url ÀÔ´Ï´Ù.
list($channel_link) = _parser("link", $channel);
// RSS ¼³¸íÀÔ´Ï´Ù.
list($channel_description) = _parser("description", $channel);
echo '<h2><a href="'.$channel_link.'" target="_blank">'.$channel_title.'</a> : '.$channel_description.'</h2>'.$list.'</ul>';
$channel_item = _parser("item", $channel);
for($i=0, $total=sizeof($channel_item);$i<$total; $i++){
$item = $channel_item[$i];
list($title) = _parser("title", $item); // RSS±â»ç Á¦¸ñ
list($link) = _parser("link", $item); // RSS񃯇 url
list($pubDate) = _parser("pubDate", $item); // RSS±â»ç ³¯Â¥
$pubDate= date("m/d", strtotime($pubDate));
echo '<li>'.$date.' <a href="'.$link.'">'.$title.'</a></li>';
}
|