修剪RSS提要中的字符

时间:2013-11-04 09:28:20

标签: php html trim

我正在使用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++;
    }

} ?>

4 个答案:

答案 0 :(得分:1)

使用strtotimedate

$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解析日期,然后在结果数组中使用monthday的值。

答案 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;