0

SimpleXMLElementオブジェクトの結果を介して、特定のユーザーの Twitter タイムラインをループしようとしています。何らかの理由で、以下のコードは 1 つの結果しか示していません。

  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

ここには2つの誤りがあると思います。

まず、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 に答える