繁体   English   中英

使用API​​和PHP获取Tumblr帖子标题?

[英]Get Tumblr post title using API & PHP?

使用这篇文章和Tumblr API ,我试图将标题的最新博客内容嵌入到我的网站中。

由于某种原因,我认为这将是一个不错的简单代码,但它返回空值。 我错过了一些明显的事吗?

// Contents of includes/latest_blog.php
<?php
  $request_url = 'http://###NAME###.tumblr.com/api/read?start=0&num=1';
  $xml = simplexml_load_file($request_url);
  $title = $xml->posts->post->{‘regular-title’};
  $link = $xml->posts->post[‘url’];
  echo 'Latest blog entry: <a href="'.$link.'">'.$title.'</a>';
?>

网站:

<p class="blog_title"><?php include('includes/latest_blog.php'); ?></p>

谢谢!

其实代码是好的,它只是你用花哨的Unicode引号内,如'regular-title' ,而不是ASCII单引号,如'regular-title'

不正确:

$title = $xml->posts->post->{‘regular-title’};
$link = $xml->posts->post[‘url’];

正确:

$title = $xml->posts->post->{'regular-title'};
$link = $xml->posts->post['url'];

由于某些原因,您一定错过了错误消息,因此请确保在测试新代码时看到所有错误:

ini_set('display_errors', true);
error_reporting(-1);

您在正确的地方。 这是代码(它可以工作,但我无法在没有foreach的情况下找到使其工作的解决方案),但是无论如何,您应该记住,tittle是一个可选字段,并且它可能是空字符串,因此您需要在构建a之前检查一下链接标签。

$request_url = 'http://YOURNAME.tumblr.com/api/read?start=0&num=1';
$xml = simplexml_load_file($request_url);
$posts = $xml->xpath("/tumblr/posts/post"); 
foreach($posts as $post) {
  $url = $post['url-with-slug'];
  $tittle = $post->{'regular-title'};
  echo '<a href="'.$url.'">'.$tittle.'</a>';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM