rss 뉴스제목글을 지정된 언론사별로 가져와서 홈페이지에 출력하려고 합니다.
아래 코드처럼 짜집기를 했는데
일단, 언론사별 rss 뉴스제목를 가져와서 출력이 되는거 까지는 이상이 없습니다
문제는...
아래 코드처럼 하면 ... 있는대로 다 가져오다 보니 약 100여개의 '뉴스제목'이 출력 되어버립니다.
홈페이지에는 '최신시간'순으로 or '기타'기준으로...
언론사구분없이 통틀어서 10여개 정도의 rss 뉴스제목만 홈페이지에 출력하고 싶습니다.
코드의 어느부분을 어떻게 손봐야 할런지요...??
도움글을 좀 부탁드립니다.
---------- 코드참고 ------------------------
$news = array(
"sports" => array("스포츠서울","http://www.sportsseoul.com/rss/rss.asp?cp_flag=1&cat_flag=1"),
"ohmynews" => array("오마이뉴스","http://rss.ohmynews.com/rss/ohmynews.xml"),
"chosun" => array("조선일보","http://newsplus.chosun.com/hitdata/xml/index/index.xml"),
"hani" => array("한겨레신문","http://www.hani.co.kr/rss/newsrank/"),
"kbench" => array("케이벤치","http://rss.kbench.com/news.xml"),
"YTN뉴스" => array("YTN","http://www.yonhapnews.co.kr/RSS/sokbo.xml")
);
"sports" => array("스포츠서울","http://www.sportsseoul.com/rss/rss.asp?cp_flag=1&cat_flag=1"),
"ohmynews" => array("오마이뉴스","http://rss.ohmynews.com/rss/ohmynews.xml"),
"chosun" => array("조선일보","http://newsplus.chosun.com/hitdata/xml/index/index.xml"),
"hani" => array("한겨레신문","http://www.hani.co.kr/rss/newsrank/"),
"kbench" => array("케이벤치","http://rss.kbench.com/news.xml"),
"YTN뉴스" => array("YTN","http://www.yonhapnews.co.kr/RSS/sokbo.xml")
);
$ns = $HTTP_GET_VARS["ns"];
if(empty($ns)){ $ns = array_keys($news); }
if(empty($ns)){ $ns = array_keys($news); }
$newsList = array();
while (list($key, $value) = each ($news)) {
$url = $value[1];
$rss = new RSSReader($url,true,60,$DOCUMENT_ROOT."/newsmowa/cache");
$response = $rss->Read();
while (list($key, $value) = each ($news)) {
$url = $value[1];
$rss = new RSSReader($url,true,60,$DOCUMENT_ROOT."/newsmowa/cache");
$response = $rss->Read();
foreach($rss->getItems() as $item){
if(isChoice($key)){
if(isset($item["dc:date"])) $item["pubdate"] = $item["dc:date"];
//array_push($newsList,array($value[0],$item["title"],$item["link"],$item["description"],$item["pubdate"]));
array_push($newsList,
array(
NAME => $value[0],
TITLE => $item["title"],
LINK => $item["link"],
DESCRIPTION => $item["description"],
PUBDATE => $item["pubdate"],
TOPUBDATE => _Topubdate($item["pubdate"]),
IDXPUBDATE => _Topubdate($item["pubdate"],"YmdHis")
)
);
}
}
if(isset($item["dc:date"])) $item["pubdate"] = $item["dc:date"];
//array_push($newsList,array($value[0],$item["title"],$item["link"],$item["description"],$item["pubdate"]));
array_push($newsList,
array(
NAME => $value[0],
TITLE => $item["title"],
LINK => $item["link"],
DESCRIPTION => $item["description"],
PUBDATE => $item["pubdate"],
TOPUBDATE => _Topubdate($item["pubdate"]),
IDXPUBDATE => _Topubdate($item["pubdate"],"YmdHis")
)
);
}
}
$rss->free();
unset($rss);
}
unset($rss);
}
usort($newsList,"cmp");
echo "<html><head><title>뉴스모와</title>\n";
echo "<style><!-- BODY,TD,SELECT { FONT: 9pt Arial; LINE-HEIGHT: 17px;} //--></style>\n";
echo "<body>";
echo "<form>";
echo "<table width=100% border=1>\n";
echo "<tr><td>\n";
echo "<style><!-- BODY,TD,SELECT { FONT: 9pt Arial; LINE-HEIGHT: 17px;} //--></style>\n";
echo "<body>";
echo "<form>";
echo "<table width=100% border=1>\n";
echo "<tr><td>\n";
foreach($news as $key => $value) {
$checked = isChoice($key)? "checked":"";
echo "<input type=checkbox name=ns[] value=$key $checked> $value[0]\n";
}
echo "<input type=submit value=\"조회\"></td></tr>\n";
echo "</table>";
echo "</form>";
echo "</table>";
echo "</form>";
echo "<table width=100% border=0>\n";
echo "<tr><td align=center>뉴스제목</td><td align=center>출처</td><td align=center>발행일</td></tr>\n";
foreach($newsList as $list){
printf("<tr><td><a href=\"%s\" target=_blank>%s</td><td align=center>%s</td><td align=center>%s</td></tr>\n",
$list[LINK],$list[TITLE],$list[NAME],$list[TOPUBDATE]);
}
echo "</table>";
echo "<tr><td align=center>뉴스제목</td><td align=center>출처</td><td align=center>발행일</td></tr>\n";
foreach($newsList as $list){
printf("<tr><td><a href=\"%s\" target=_blank>%s</td><td align=center>%s</td><td align=center>%s</td></tr>\n",
$list[LINK],$list[TITLE],$list[NAME],$list[TOPUBDATE]);
}
echo "</table>";
echo "</body></html>\n";
?>
?>
댓글 1개
영리한바부
13년 전
이미 처리 하셨는지 모르겠는데 혹시 해결하지 못하셨다면
참고 해서 수정해보십시요
// xml결과값을 모두 배열에 저장구현
// 다중배열 정렬
foreach (뉴스배열 as $key => $row) {
$sort[$key] = $row[' IDXPUBDATE'];
}
array_multisort($sort, SORT_ASC, 뉴스배열); // SORT_ASC , SORT_DESC
// 원하는 수만큼 뉴스 출력구현
http://php.net/manual/en/function.array-multisort.php
참고 해서 수정해보십시요
// xml결과값을 모두 배열에 저장구현
// 다중배열 정렬
foreach (뉴스배열 as $key => $row) {
$sort[$key] = $row[' IDXPUBDATE'];
}
array_multisort($sort, SORT_ASC, 뉴스배열); // SORT_ASC , SORT_DESC
// 원하는 수만큼 뉴스 출력구현
http://php.net/manual/en/function.array-multisort.php
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7930 | 9년 전 | 462 | ||
| 7929 | 9년 전 | 398 | ||
| 7928 | 9년 전 | 472 | ||
| 7927 | 9년 전 | 379 | ||
| 7926 | 9년 전 | 689 | ||
| 7925 | 9년 전 | 409 | ||
| 7924 | 9년 전 | 393 | ||
| 7923 | 9년 전 | 380 | ||
| 7922 | 9년 전 | 414 | ||
| 7921 | 9년 전 | 433 | ||
| 7920 | 9년 전 | 343 | ||
| 7919 | 9년 전 | 353 | ||
| 7918 | 9년 전 | 507 | ||
| 7917 | 9년 전 | 359 | ||
| 7916 | 9년 전 | 446 | ||
| 7915 | 9년 전 | 454 | ||
| 7914 | 9년 전 | 468 | ||
| 7913 | 9년 전 | 641 | ||
| 7912 | 9년 전 | 472 | ||
| 7911 | 9년 전 | 398 | ||
| 7910 | 9년 전 | 451 | ||
| 7909 | 9년 전 | 557 | ||
| 7908 | 9년 전 | 494 | ||
| 7907 | 9년 전 | 430 | ||
| 7906 | 9년 전 | 452 | ||
| 7905 | 9년 전 | 425 | ||
| 7904 | 9년 전 | 411 | ||
| 7903 | 9년 전 | 411 | ||
| 7902 | 9년 전 | 593 | ||
| 7901 |
|
9년 전 | 767 | |
| 7900 | 9년 전 | 653 | ||
| 7899 | 9년 전 | 432 | ||
| 7898 | 9년 전 | 432 | ||
| 7897 | 9년 전 | 392 | ||
| 7896 | 9년 전 | 412 | ||
| 7895 | 9년 전 | 529 | ||
| 7894 | 9년 전 | 435 | ||
| 7893 | 9년 전 | 414 | ||
| 7892 | 9년 전 | 453 | ||
| 7891 | 9년 전 | 808 | ||
| 7890 | 9년 전 | 1232 | ||
| 7889 | 9년 전 | 766 | ||
| 7888 |
limsy1987
|
9년 전 | 578 | |
| 7887 | 9년 전 | 621 | ||
| 7886 | 9년 전 | 507 | ||
| 7885 | 9년 전 | 475 | ||
| 7884 | 9년 전 | 466 | ||
| 7883 | 9년 전 | 478 | ||
| 7882 | 9년 전 | 532 | ||
| 7881 | 9년 전 | 508 | ||
| 7880 | 9년 전 | 624 | ||
| 7879 | 9년 전 | 515 | ||
| 7878 | 9년 전 | 1282 | ||
| 7877 | 9년 전 | 813 | ||
| 7876 | 9년 전 | 555 | ||
| 7875 | 9년 전 | 623 | ||
| 7874 |
|
9년 전 | 830 | |
| 7873 | 9년 전 | 552 | ||
| 7872 | 9년 전 | 723 | ||
| 7871 | 9년 전 | 535 | ||
| 7870 | 9년 전 | 650 | ||
| 7869 | 9년 전 | 472 | ||
| 7868 | 9년 전 | 511 | ||
| 7867 | 9년 전 | 511 | ||
| 7866 | 9년 전 | 573 | ||
| 7865 | 9년 전 | 515 | ||
| 7864 | 9년 전 | 575 | ||
| 7863 | 9년 전 | 566 | ||
| 7862 | 9년 전 | 528 | ||
| 7861 | 9년 전 | 697 | ||
| 7860 | 9년 전 | 674 | ||
| 7859 | 9년 전 | 448 | ||
| 7858 | 9년 전 | 762 | ||
| 7857 | 9년 전 | 1148 | ||
| 7856 | 9년 전 | 575 | ||
| 7855 | 9년 전 | 810 | ||
| 7854 | 9년 전 | 754 | ||
| 7853 | 9년 전 | 650 | ||
| 7852 | 9년 전 | 567 | ||
| 7851 | 9년 전 | 567 | ||
| 7850 | 9년 전 | 641 | ||
| 7849 | 9년 전 | 406 | ||
| 7848 | 9년 전 | 470 | ||
| 7847 | 9년 전 | 720 | ||
| 7846 | 9년 전 | 501 | ||
| 7845 | 9년 전 | 477 | ||
| 7844 | 10년 전 | 440 | ||
| 7843 | 10년 전 | 483 | ||
| 7842 | 10년 전 | 464 | ||
| 7841 | 10년 전 | 431 | ||
| 7840 | 10년 전 | 447 | ||
| 7839 | 10년 전 | 498 | ||
| 7838 | 10년 전 | 555 | ||
| 7837 | 10년 전 | 385 | ||
| 7836 | 10년 전 | 445 | ||
| 7835 | 10년 전 | 523 | ||
| 7834 |
|
10년 전 | 1229 | |
| 7833 | 10년 전 | 492 | ||
| 7832 | 10년 전 | 464 | ||
| 7831 | 10년 전 | 627 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기