<?php
// RSS取得/出力
$rsslist = array(
'★★★',
'★★★'
);
foreach($rsslist as $url) {
$tmpData = file_get_contents($url);
$tmpData = str_replace('dc:creator', 'Creator', $tmpData);
$tmpData = str_replace('dc:date', 'Date', $tmpData);
$tmpData = str_replace('pubDate', 'Date', $tmpData);
$rssData[] = simplexml_load_string($tmpData);
}
foreach($rssData as $key => $value) {
if($value['version'] == '2.0') {
foreach($value->channel->item as $item) {
$date = date_create($item->Date);
$item->Date = date_format($date, 'Y-m-d\TH:i:sP');
}
}
}
$i = count($rsslist);
$allrss = array();
for($n=0;$n<$i;$n++) {
$rssarr[$n] = xml2arr($rssData[$n]);
$channelTitle = $rssarr[$n]['channel']['title'];
if(isset($rssarr[$n]['channel']['item'])) {
$rssarr[$n]['channel']['item'] = addChannelTitle($rssarr[$n]['channel']['item'], $channelTitle);
$allrss = array_merge($allrss, $rssarr[$n]['channel']['item']);
} else {
$rssarr[$n]['item'] = addChannelTitle($rssarr[$n]['item'], $channelTitle);
$allrss = array_merge($allrss, $rssarr[$n]['item']);
}
}
usort($allrss, 'cmp');
$i = count($allrss);
for($n=0;$n<$i;$n++) {
if(empty($allrss[$n]['title'])) {
$allrss[$n] = null;
}
}
function addChannelTitle($items, $channelTitle) {
$result = array();
foreach($items as $item) {
$result[] = array_merge($item, array('channel_title'=>$channelTitle));
}
return $result;
}
# オブジェクト→配列変換用関数
function xml2arr($xmlobj) {
$arr = array();
if (is_object($xmlobj)) {
$xmlobj = get_object_vars($xmlobj);
} else {
$xmlobj = $xmlobj;
}
foreach ($xmlobj as $key => $val) {
if (is_object($xmlobj[$key])) {
$arr[$key] = xml2arr($val);
} else if (is_array($val)) {
foreach($val as $k => $v) {
if (is_object($v) || is_array($v)) {
$arr[$key][$k] = xml2arr($v);
} else {
$arr[$key][$k] = $v;
}
}
} else {
$arr[$key] = $val;
}
}
return $arr;
}
function cmp($a, $b) {
return strcmp($b['Date'], $a['Date']);
}
$count = 1;
$newsArray = array();
foreach ($allrss as $rss => $item) {
if ($count > $start && $count) {
$date = preg_replace('/([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9:]{3}[0-9]{2})[0-9+:]+$/', '$1/$2/$3', $item['Date']);
$date01 = preg_replace('/([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9:]{3}[0-9]{2})[0-9+:]+$/', '$1/$2/$3', $item['Date']);
$testDate = $date;
$testLink = $item['link'];
$testTitle = $item['title'];
$newsArray[] = array($testDate, $testLink, $testTitle);
}
$count++;
}
echo '<div>';
$maxList = 100;
$listNum = 0;
foreach ($newsArray as $k => $i) {
$d = $i[0];
if ($d != $date) {
$date = $d;
if ($listNum == 0) {
$listNum++;
} else {
$listNum++;
$listNum - 1;
}
}
if (!($listNum > $maxList)) {
if ($d != $date01) {
$date01 = $d;
if ($listNum == 1) {
echo "<div class=\"date\">$date01</div><ul class=\"list\">";
} else {
echo "</ul><div class=\"date\">$date01</div><ul class=\"list\">";
}
}
echo "<li><span class=\"t2\">t2</span><span class=\"text\"><a href=\"$i[1]\">$i[2]</a></span></li>";
} else {
break;
}
}
echo '</ul></div>';
?>