0

我试图通过SimpleXMLElement对象的结果循环遍历给定用户的 Twitter 时间线。出于某种原因,下面的代码只显示了一个结果。

  1. 我在这里做错了什么?

  2. 如何在 xml/rest 结果的“描述”标签中搜索文本字符串。前任。我试图找到所有包含字符串“我喜欢编码”的推文。


<?php
// create a new cURL resource
$ch = curl_init();

curl_setopt_array(
    $ch,
    array(
        CURLOPT_URL => "http://api.twitter.com/1/statuses/user_timeline.rss?  screen_name=twitterusername",
        CURLOPT_RETURNTRANSFER => true
    )
); 

$response = curl_exec($ch);
curl_close($ch);

$xml = new SimpleXMLElement($response);

foreach($xml as $x){
echo '<h2>' . $x->title . '</h2>';
echo '<a href="'.$x->link .'">Link</a>';
echo '<br><em>' .$x->description .'<em>';
}
?>
4

2 回答 2

1

我认为这里有两个错误。

首先,您要请求 RSS,您需要请求 XML

https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=edent

其次,您想将 XML 作为字符串加载,如下所示

$tweets = simplexml_load_string($response);

然后像这样遍历它们

foreach ($tweets as $status) {
    echo $status->text;
    //etc
}
于 2012-06-13T16:30:30.873 回答
0

我不熟悉 SimpleXMLElement,但您确定它会将数组值返回到 $xml 吗?据我所见,阅读文档似乎只返回一个元素。

于 2012-06-13T14:40:25.563 回答