首先,我想说我是PHP的新手。我有一个xml文件:http://www.anewmandesigns.com/RSSseptember2013.xml
在Feed中,我试图在我的网站上使用PHP显示9月份(第4天,第11天,第18天和第25天)的星期三的日期(实际条目)。这是我的代码......我该如何修改?
<?php
$rss = new DOMDocument();
$rss->load('http://www.anewmandesigns.com/oakshade/calendar/rss/RSSseptember2013.xml');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node)
{
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++)
{
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
$year = substr($timestamp, 0, 4);
$month = date(' M ', strtotime($feed[$x]['date']));
$day = date(' d ', strtotime($feed[$x]['date']));
echo '<p>'.$month.'<span> '.$day.'</span></p>';
echo '<p><a href="'.$link.'" title="'.$title.'">'.$description.'</a></p>';
}
?>
答案 0 :(得分:0)
在你的代码的这一部分......
if(date('mw', strtotime($item['date'])) == '093'){
array_push($feed, $item);
}
编辑:我已将代码更新为仅显示9月
答案 1 :(得分:0)
您可以使用以下条件语句来检查它是否是星期三:
if ( date('l', strtotime($feed[$x]['date']) ) == 'Wednesday') {
# code ...
}
检查是否是九月:
if ( date('F', strtotime($feed[$x]['date']) ) == 'September') {
# code ...
}
完整代码:
<?php
$rss = new DOMDocument();
$rss->load('http://www.anewmandesigns.com/oakshade/calendar/rss/RSSseptember2013.xml');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node)
{
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
//echo date('l', strtotime($item['date']))."\n";
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++)
{
if ( date('l', strtotime($feed[$x]['date']) ) == 'Wednesday')
{ // if it is wednesday, proceed
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$year = date('Y', strtotime($feed[$x]['date']));
$month = date('M', strtotime($feed[$x]['date']));
$day = date('d', strtotime($feed[$x]['date']));
echo '<p>'.$month.'<span> '.$day.'</span></p>';
echo '<p><a href="'.$link.'" title="'.$title.'">'.$description.'</a></p>';
}
}
?>
注意:
请注意,您没有在任何地方定义$timestamp
变量,我已将其更改为直接从pubDate
字段获取年份。
在您发布的XML文件中,周三没有发布任何项目,因此上述代码不会输出任何内容,但如果您将其更改为其他工作日,则应该可以正常工作。
当前XML文件的日期都是9月份,所以我避免了代码中的条件检查,但是如果你想检查月份,也可以添加它。
希望这有帮助!