为什么这个PHP代码段不起作用?

时间:2011-07-23 00:35:36

标签: php

在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']");

3 个答案:

答案 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']));
}
?>