我正在使用PHP调用我的网站的RSS源。目前我的代码是调用pubDate的全部内容:
<pubDate>Thu, 12 Sep 2013 07:23:59 +0000</pubDate>
我如何只显示上述例子中的日期和月份,即9月12日?
修改
我应该澄清一下,上面的代码行是我目前得到的一个示例输出,但是当我从RSS提要中调用最新的3个帖子时,这个日期和时间会有所不同。因此,我需要代码更具动态性(如果这是正确的术语!)
此代码是我的完整代码,用于获取RSS提要的内容:
<?php
$counter = 0;
$xml=simplexml_load_file("http://tutorial.world.edu/feed/");
foreach ($xml->channel->item as $item) {
$title = (string) $item->title; // Title Post
$link = (string) $item->link; // Url Link
$pubDate = (string) $item->pubDate; // date
$description = (string) $item->description; //Description Post
echo '<div class="display-rss-feed"><a href="'.$link.'" target="_blank" title="" >'.$title.' </a><br/><br/>';
echo $description.'<hr><p style="background-color:#e4f;">'.$pubDate.'</p></div>';
if($counter == 2 ) {
break;
} else {
$counter++;
}
} ?>
答案 0 :(得分:1)
$pubDate = 'Thu, 12 Sep 2013 07:23:59 +0000';
$pubDate = date('j M', strtotime($pubDate)); //This is the only one you need!
var_dump($pubDate); //string(6) "12 Sep"
答案 1 :(得分:0)
您可以使用date_parse解析日期,然后在结果数组中使用month
和day
的值。
答案 2 :(得分:0)
即使这样也可以
<?php
$str="<pubDate>Thu, 12 Sep 2013 07:23:59 +0000</pubDate>";
$str=explode(" ",$str);
echo $str[1]." ".$str[2];//12 Sep
修改强>
<?php
$counter = 0;
$xml=simplexml_load_file("http://tutorial.world.edu/feed/");
foreach ($xml->channel->item as $item) {
$title = (string) $item->title; // Title Post
$link = (string) $item->link; // Url Link
$pubDate = (string) $item->pubDate; // date
$pubDate=explode(" ",$pubDate);
$pubDate = $pubDate[1]." ".$pubDate[2];
$description = (string) $item->description; //Description Post
echo '<div class="display-rss-feed"><a href="'.$link.'" target="_blank" title="" >'.$title.' </a><br/><br/>';
echo $description.'<hr><p style="background-color:#e4f;">'.$pubDate.'</p></div>';
if($counter == 2 ) {
break;
} else {
$counter++;
}
} ?>
答案 3 :(得分:0)
您可以使用带有所需常规表达式的preg_match()函数来获取特定数据。 例如
$ content =&#34;星期四,2013年9月12日07:23:59 + 0000&#34 ;;
preg_match(&#34; /.*,(.*)20 [0-9] [0-9] /&#34;,&#34; $ content&#34;,$ g_val);
$ g_val [1]会有&#34; 9月12日&#34;