在localhost中(在Windows上使用Wamp)。我正试着用这个:
<?
$xml = simplexml_load_file(‘http://stocklamp.tumblr.com/api/read/xml’);
$posts = $xml->xpath(“/tumblr/posts/post[@type=’regular’]”);
foreach($posts as $post) {?>
<?echo $post[‘id’];?>
<?echo $post[‘url-with-slug’];?>”>
<?echo $post->{‘regular-title’};?>
<?echo $post->{‘regular-body’};?>
<?echo date(“jS D M, H:i”,strtotime($post[‘date’]));?>
<?}?>
尝试时,我所看到的只是在我的网站上:
xpath(“/tumblr/posts/post[@type=’regular’]”); foreach($posts as $post) { ?> ”> {‘regular-title’};?> {‘regular-body’};?>
我在这里找到了摘录:
http://stocklamp.tumblr.com/post/274675902/putting-your-tumblr-posts-on-your-websites-the-easy-way
编辑:修复。现在我正在
解析错误:语法错误,意外':'in 第52行的C:\ wamp \ www .. \ index.php
就是这一行:
$ xml = 使用simplexml_load_file(“http://stocklamp.tumblr.com/api/read/xml”);
我一直收到此错误:http://codepad.org/7f1IejIG
好。现在我修复了,但如何通过标记获取帖子?
更改'type = ...'不起作用。
$posts = $xml->xpath("/tumblr/posts/post[@type='file']");
答案 0 :(得分:3)
您的网页未以PHP身份运行。如果您查看源代码,您将在页面上看到整个PHP代码显示为纯HTML。
显示的位在$ xml-&gt;之后。位,因为它认为开放的php标签和 - &gt;是一个很棒的HTML标签。
文件扩展名是.php吗?什么是文件名?你把这个代码放在哪里了?尝试用<?
替换<?php
,有时网络服务器没有启用短标记。
答案 1 :(得分:2)
您使用的是引号。试试这个:
<?
$xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read');
$posts = $xml->xpath("/tumblr/posts/post[@type='regular']");
foreach($posts as $post) {
echo $post['id'];
echo $post['url-with-slug'];
echo $post->{'regular-title'};
echo $post->{'regular-body'};
echo date("jS D M, H:i",strtotime($post['date']));
}
?>
答案 2 :(得分:0)
最后一个问题是解决的问题是博客上提供的API XML url是不对的。以下作品:
<?php
$xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read/'); // No /xml
$posts = $xml->xpath('/tumblr/posts/post[@type="regular"]');
foreach($posts as $post) {?>
<?echo $post['id'];?>
<?echo $post['url-with-slug'];?>”>
<?echo $post->{'regular-title'};?>
<?echo $post->{'regular-body'};?>
<?echo date("jS D M, H:i",strtotime($post['date']));?>
<?}?>
http://jfcoder.com/test/tumblrtest.php
修改强>
尝试运行此代码而不插入标记:
<?php
$xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read/'); // No /xml
$posts = $xml->xpath('/tumblr/posts/post[@type="regular"]');
foreach($posts as $post) {
echo $post['id'];
echo $post['url-with-slug'];
echo $post->{'regular-title'};
echo $post->{'regular-body'};
echo date("jS D M, H:i",strtotime($post['date']));
}
?>