如何使用 php 从 tumblr 帖子中获取标签和日期



我对PHP相当陌生,我设法在我的网站上获得了tumblr帖子。但只有标题和正文。

1.)为什么我不能抓住日期?2.) 如何浏览所有标签并导出它们?

这是我的代码:

<?php
ini_set('display_errors', true);
error_reporting(-1);
$request_url = 'http://cedricfjacob.tumblr.com/api/read?type=post&start=0&num=10';
$xml = simplexml_load_file($request_url);
$posts = $xml->xpath("/tumblr/posts/post"); 
foreach($posts as $post) {
    $title = $post->{'regular-title'};
    $post = $post->{'regular-body'};
    $tag = $post->{'tag'};
    $date = $post['date'];
    echo '<div class="title">'.$title.'</div>';
    echo '<div class="date">'.$date.'</div>';
    echo '<div class="tags">'.$tag.'</div>';
    echo '<div class="post">'.$post.'</div>';
}?>

要查看 XML,请访问:

https://cedricfjacob.tumblr.com/api/read?type=post&start=0&num=10#=

谢谢你们。

发生这种情况有两个原因:

  1. 有了$post = $post->{'regular-body'};,你就可以写$post值。它不再是你所期望的。

  2. 第二个 - 属性$post['date']是一个SimpleXMLElement对象。要获取它的字符串值 - 例如使用 strval(string)类型转换。

最后:

foreach($posts as $post) {
    $title = $post->{'regular-title'};
    $post_body = $post->{'regular-body'};    // change here
    $tag = $post->{'tag'};
    $date = strval($post['date']);           // change here
    echo '<div class="title">'.$title.'</div>';
    echo '<div class="date">'.$date.'</div>';
    echo '<div class="tags">'.$tag.'</div>';
    echo '<div class="post">'.$post_body.'</div>';  // change here
}

最新更新