Php 从RSS源修剪字符
我正在使用PHP调用我的网站的RSS提要。目前,我下面的代码正在调用pubDate的全部内容:Php 从RSS源修剪字符,php,html,trim,Php,Html,Trim,我正在使用PHP调用我的网站的RSS提要。目前,我下面的代码正在调用pubDate的全部内容: <pubDate>Thu, 12 Sep 2013 07:23:59 +0000</pubDate> Thu,2013年9月12日07:23:59+0000 如何显示上述示例中的日期和月份,即9月12日 编辑 我应该澄清一下,上面这行代码是我目前得到的一个示例输出,但是由于我正在从RSS提要调用最新的3篇文章,这个日期和时间会有所不同。因此,我需要代码更加动态(如果这是正确
<pubDate>Thu, 12 Sep 2013 07:23:59 +0000</pubDate>
Thu,2013年9月12日07:23:59+0000
如何显示上述示例中的日期和月份,即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++;
}
} ?>
channel->item as$item){
$title=(字符串)$item->title;//标题文章
$link=(字符串)$item->link;//Url链接
$pubDate=(字符串)$item->pubDate;//日期
$description=(字符串)$item->description;//描述帖子
回音“
”;
echo$description.“
”.$pubDate.“
”;
如果($counter==2){
打破
}否则{
$counter++;
}
} ?>
使用和:
您可以使用解析日期,然后在结果数组中使用
month
和day
的值。即使这样也可以
<?php
$str="<pubDate>Thu, 12 Sep 2013 07:23:59 +0000</pubDate>";
$str=explode(" ",$str);
echo $str[1]." ".$str[2];//12 Sep
channel->item as$item){
$title=(字符串)$item->title;//标题文章
$link=(字符串)$item->link;//Url链接
$pubDate=(字符串)$item->pubDate;//日期
$pubDate=分解(“,$pubDate”);
$pubDate=$pubDate[1]。“”.$pubDate[2];
$description=(字符串)$item->description;//描述帖子
回音“
”;
echo$description.“
”.$pubDate.“
”;
如果($counter==2){
打破
}否则{
$counter++;
}
} ?>
您可以将preg_match()函数与所需的正则表达式一起使用,以获取特定数据。
比如说
$content=“Thu,2013年9月12日07:23:59+0000”
预匹配(“/.*,(.*)20[0-9][0-9]/”、“$content”、$g_val)
$g_val[1]将有“9月12日”尝试使用带日期函数的strotime我应该澄清一下,您使用的变量是我目前拥有的一个示例输出,但当我从RSS提要调用最近的3篇帖子时,它可能会发生变化。因此,我知道日期和时间可能会改变。在我的示例中,第一行仅用于实际获取输出。代码中唯一需要的一行是第二行,其余的是示例
strotime
非常擅长理解大多数日期,因此无论您输入什么,它都能够将其转换为unix时间戳,以便在date
中使用。啊,对了。这就是我对你缺乏理解!这很有效,所以谢谢你的解释:)问题已经更新,以澄清更多的事情。在结合我的新手知识进行了一些阅读之后,我似乎不能使用date\u parse?
<?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++;
}
} ?>