{"id":1442,"date":"2005-09-05T15:29:05","date_gmt":"2005-09-05T15:29:05","guid":{"rendered":"http:\/\/bluesoul.pe.kr\/wp\/?p=1442"},"modified":"2005-09-05T15:29:05","modified_gmt":"2005-09-05T15:29:05","slug":"pear%ed%8c%a8%ed%82%a4%ec%a7%80%eb%a5%bc-%ec%9d%b4%ec%9a%a9%ed%95%9c-rss%eb%89%b4%ec%8a%a4-%ec%9d%bd%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/bluesoul.pe.kr\/wp\/?p=1442","title":{"rendered":"pear\ud328\ud0a4\uc9c0\ub97c \uc774\uc6a9\ud55c rss\ub274\uc2a4 \uc77d\uae30"},"content":{"rendered":"<p> \uba3c\uc800 pear\ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574\uc57c \ud55c\ub2e4.<br \/>\n\ubb34\uc2a8 \ud328\ud0a4\uc9c0\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud558\ub294 \ubc29\ubc95\uc740<br \/>\n[root@cms-img src]# \/usr\/local\/php\/bin\/pear list<\/p>\n<p>http:\/\/pear.php.net \uc5d0\uc11c \ucd5c\uc2e0 \ud328\ud0a4\uc9c0\ub97c \ub2e4\uc6b4 \ubc1b\uace0<br \/>\n\ud574\ub2f9 \uc11c\ubc84\uc5d0 \uc62c\ub9b0\ub2e4\uc74c \uc555\ucd95\uc744 \ud480\uc5b4 \uc124\uce58\ud55c\ub2e4.<br \/>\n[root@cms-img src]# tar zvfx XML_Parser-1[1].2.6.tgz<br \/>\n[root@cms-img src]# cd XML_Parser-1[1].2.6<br \/>\n[root@cms-img src]# \/usr\/local\/php\/bin\/pear install XML_Parser<\/p>\n<p>[root@cms-img src]# tar zvfx XML_Tree-2.0.0RC2<br \/>\n[root@cms-img src]# cd XML_Tree-2.0.0RC2<br \/>\n[root@cms-img src]# \/usr\/local\/php\/bin\/pear install XML_Tree<\/p>\n<p>[root@cms-img src]# tar zvfx XML_RSS-0[1].9.2.tgz<br \/>\n[root@cms-img src]# cd XML_RSS-0[1].9.2.tgz<br \/>\n[root@cms-img src]# \/usr\/local\/php\/bin\/pear install XML_RSS<\/p>\n<p>\uc8fc\uc758 \uc0ac\ud56d\uc740 \ud30c\uc77c\uc744 utf-8 \ud0c0\uc785\uc73c\ub85c \uc800\uc7a5\ud574\uc57c\uc9c0 \ud55c\uae00 \ud30c\uc774\uc77c\uc774 \uae68\uc9c0\uc9c0 \uc54a\uace0 \ub098\uc628\ub2e4.<\/p>\n<p><?php\n\/\/ \uac00\uc838\uc628 \ub274\uc2a4 \uc911 \uba87\uac1c\uae4c\uc9c0 \ubcf4\uc5ec\uc904\uac74\uc9c0..\ndefine(\"PAGE_LIMIT\", 100);\n\/\/ \ub0a0\uc9dc \ud615\ud0dc\ndefine(\"DATE_FORMAT\", \"Y\/m\/d H:i:s\");\n\/\/ \ub9ac\ud504\ub808\uc2dc \uc2dc\uac04 (\ubd84)\ndefine(\"REFRESH_MINUTE\", 2);\n\n$lastmodified = get_last_modified_time();\n\n\/\/ \ub9ac\ud504\ub808\uc2dc \uc2dc\uac04 \ub0b4\uc5d0 \uc788\uc73c\uba74 cache hit\nif(time() - $lastmodified  < REFRESH_MINUTE * 60 &#038;&#038; file_exists(\"currentnews.html\")) {\n    $contents = trim(file(\"currentnews.html\"));\n    echo $contents;\n} else {\n    require_once \"XML\/RSS.php\";\n\n    \/\/ url_fopen \ud5c8\uc6a9\n    if (ini_get(\"allow_url_fopen\") == 0) {\n        ini_set(\"allow_url_fopen\", 1);\n    }\n\n    $news = array();\n    $channel_list = array();\n\n    \/\/ \ucc44\ub110 \ubaa9\ub85d\uc744 \uc77d\uc5b4\uc628\ub2e4.\n    $fd = fopen (\"newschannel.txt\", \"r\");\n    while (!feof ($fd)) {\n        $channel_list[] = trim(fgets($fd, 4096));\n    }\n    fclose ($fd); \n\n    \/\/ \uac01 \ucc44\ub110\uc5d0\uc11c \ub274\uc2a4\ub97c \uc77d\uc5b4\uc628\ub2e4.\n    foreach($channel_list as $rss_url) {\n\n        if(PEAR::isError($r =&#038; new XML_RSS($rss_url)))\n            continue;\n\n        $r->parse();<\/p>\n<p>        \/*<br \/>\n            keys :title, link, description, dc:date (or pubdate)<br \/>\n        *\/<br \/>\n        $channel_info = array();<\/p>\n<p>        foreach($r->getChannelInfo() as $key => $val) {<br \/>\n            $channel_info[&#8220;cp_&#8221; . $key] = $val;<br \/>\n        }<\/p>\n<p>        foreach ($r->getItems() as $value) {<\/p>\n<p>            array_change_key_case($value, CASE_LOWER);<\/p>\n<p>            $tmp_arr = array_merge($value, $channel_info);<\/p>\n<p>            if($tmp_arr[&#8220;dc:date&#8221;])<br \/>\n                $tmp_arr[date] = $tmp_arr[&#8220;dc:date&#8221;];<br \/>\n            else if($tmp_arr[&#8220;pubdate&#8221;])<br \/>\n                $tmp_arr[date] = $tmp_arr[&#8220;pubdate&#8221;];<\/p>\n<p>            \/\/ unix timestamp\ub97c \ud0a4\ub85c \ud55c\ub2e4.<br \/>\n            $key = strtotime($tmp_arr[date]);<\/p>\n<p>            $tmp_arr[date] = date(DATE_FORMAT, $key);<\/p>\n<p>            \/\/ \ud0a4\uac00 \uc911\ubcf5\ub418\uc9c0 \uc54a\ub3c4\ub85d&#8230;.<br \/>\n            while(array_key_exists($key,$news)) {<br \/>\n                $key&#8211;;<br \/>\n            }<\/p>\n<p>            if($tmp_arr[description])<br \/>\n                $tmp_arr[description] = parse_description($tmp_arr[description]);<br \/>\n            $news[$key] = $tmp_arr;<br \/>\n        }<br \/>\n    }<br \/>\n    \/\/ \uc2dc\uac04\uc758 \uc5ed\uc21c\uc73c\ub85c \uc815\ub82c<br \/>\n    krsort($news, SORT_NUMERIC);<\/p>\n<p>    $k = 0;<\/p>\n<p>    ob_start();<br \/>\n    \/\/ \ub274\uc2a4 \uc544\uc774\ud15c\uc744 \ud654\uba74\uc5d0 \ucd9c\ub825\ud55c\ub2e4.<br \/>\n    foreach($news as $item) {<br \/>\n        $k++;<\/p>\n<p>        \/\/ \uc81c\ud55c \uac2f\uc218 \uae4c\uc9c0\ub9cc \ubcf4\uc5ec\uc900\ub2e4<br \/>\n        if($k > PAGE_LIMIT)<br \/>\n            break;<\/p>\n<p>?><br \/>\n<!-- \ub274\uc2a4 \uc544\uc774\ud15c --><\/p>\n<li><a href=\"\/v2\/wp\/%3C?=%20$item%5Blink%5D%20?%3E\"><?= $item[title] ?><\/a> (<?= $item[date] ?>) [<?= $item[cp_title] ?>]\n<p>\n<?= $item[description] ?>\n<\/li>\n<p><!-- \ub274\uc2a4 \uc544\uc774\ud15c \ub05d --><br \/>\n<?\n    }\n    $contents = ob_get_contents();\n    ob_end_flush();\n    unset($news);\n\n    set_modified($contents);\n}\n\n\/\/ description \uad50\uc815\nfunction parse_description($body) {\n    $current = array(\n            \"<a href=\"\n            );\n    $target = array(\n            \"<a target=\\\"_blank\\\" href=\"\n            );\n    $body = str_replace($current, $target, $body);\n    return $body;\n}\n\n\/\/ \ub9c8\uc9c0\ub9c9 \uc218\uc815 \uc2dc\uac04\nfunction get_last_modified_time() {\n    $lastmodifiedtime = 0;\n    if(file_exists(\"newslastmodifiedtime.txt\")) {\n        $lastmodifiedtime = trim(file(\"newslastmodifiedtime.txt\"));\n    }\n    return $lastmodifiedtime;\n}\n\n\/\/ \uc218\uc815 \ub0b4\uc5ed \ubc18\uc601\nfunction set_modified($contents) {\n    $fd = fopen (\"newslastmodifiedtime.txt\", \"w\");\n    fwrite($fd, time());\n    fclose ($fd); \n    $fd = fopen (\"currentnews.html\", \"w\");\n    fwrite($fd, $contents);\n    fclose ($fd); \n}\n?> <\/p>\n<p>\uc608\uc81c url\uc774\ub2e4<br \/>\nhttp:\/\/192.168.1.36\/test\/news_rss.php <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uba3c\uc800 pear\ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574\uc57c \ud55c\ub2e4. \ubb34\uc2a8 \ud328\ud0a4\uc9c0\uac00 \uc788\ub294\uc9c0 \ud655\uc778\ud558\ub294 \ubc29\ubc95\uc740 [root@cms-img src]# \/usr\/local\/php\/bin\/pear list http:\/\/pear.php.net \uc5d0\uc11c \ucd5c\uc2e0 \ud328\ud0a4\uc9c0\ub97c \ub2e4\uc6b4 \ubc1b\uace0 \ud574\ub2f9 \uc11c\ubc84\uc5d0 \uc62c\ub9b0\ub2e4\uc74c \uc555\ucd95\uc744 \ud480\uc5b4 \uc124\uce58\ud55c\ub2e4. [root@cms-img src]# tar zvfx XML_Parser-1[1].2.6.tgz [root@cms-img src]# cd XML_Parser-1[1].2.6 [root@cms-img src]# \/usr\/local\/php\/bin\/pear install XML_Parser [root@cms-img src]# tar zvfx XML_Tree-2.0.0RC2 [root@cms-img src]# cd XML_Tree-2.0.0RC2 [root@cms-img src]# \/usr\/local\/php\/bin\/pear install XML_Tree [root@cms-img src]# &hellip; <a href=\"https:\/\/bluesoul.pe.kr\/wp\/?p=1442\" class=\"more-link\">\uacc4\uc18d \uc77d\uae30<span class=\"screen-reader-text\"> &#8220;pear\ud328\ud0a4\uc9c0\ub97c \uc774\uc6a9\ud55c rss\ub274\uc2a4 \uc77d\uae30&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1442","post","type-post","status-publish","format-standard","hentry","category-tip"],"_links":{"self":[{"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1442"}],"version-history":[{"count":0,"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1442\/revisions"}],"wp:attachment":[{"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bluesoul.pe.kr\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}