먼저 pear패키지를 설치해야 한다.
무슨 패키지가 있는지 확인하는 방법은
[root@cms-img src]# /usr/local/php/bin/pear list
http://pear.php.net 에서 최신 패키지를 다운 받고
해당 서버에 올린다음 압축을 풀어 설치한다.
[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]# tar zvfx XML_RSS-0[1].9.2.tgz
[root@cms-img src]# cd XML_RSS-0[1].9.2.tgz
[root@cms-img src]# /usr/local/php/bin/pear install XML_RSS
주의 사항은 파일을 utf-8 타입으로 저장해야지 한글 파이일이 깨지지 않고 나온다.
parse();
/*
keys :title, link, description, dc:date (or pubdate)
*/
$channel_info = array();
foreach($r->getChannelInfo() as $key => $val) {
$channel_info[“cp_” . $key] = $val;
}
foreach ($r->getItems() as $value) {
array_change_key_case($value, CASE_LOWER);
$tmp_arr = array_merge($value, $channel_info);
if($tmp_arr[“dc:date”])
$tmp_arr[date] = $tmp_arr[“dc:date”];
else if($tmp_arr[“pubdate”])
$tmp_arr[date] = $tmp_arr[“pubdate”];
// unix timestamp를 키로 한다.
$key = strtotime($tmp_arr[date]);
$tmp_arr[date] = date(DATE_FORMAT, $key);
// 키가 중복되지 않도록….
while(array_key_exists($key,$news)) {
$key–;
}
if($tmp_arr[description])
$tmp_arr[description] = parse_description($tmp_arr[description]);
$news[$key] = $tmp_arr;
}
}
// 시간의 역순으로 정렬
krsort($news, SORT_NUMERIC);
$k = 0;
ob_start();
// 뉴스 아이템을 화면에 출력한다.
foreach($news as $item) {
$k++;
// 제한 갯수 까지만 보여준다
if($k > PAGE_LIMIT)
break;
?>
= $item[description] ?>
}
$contents = ob_get_contents();
ob_end_flush();
unset($news);
set_modified($contents);
}
// description 교정
function parse_description($body) {
$current = array(
"
예제 url이다
http://192.168.1.36/test/news_rss.php