[英]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.