从XML文件显示Twitter个人资料图片

时间:2012-02-19 11:34:55

标签: php xml twitter

目前,我正在显示来自地理编码的推文以及推文本身以及用户名以及推文的时间和日期。但是现在我试图访问XML中的个人资料图片。我已经访问了链接标记中包含的状态的链接。

这是我正在尝试访问的标记。

<link type="image/png" href="http://a0.twimg.com/profile_images/1706928570/IMG00474-20111008-1737_normal.jpg" rel="image" >

XML文件中的位置是第18行。

<feed xmlns:google="http://base.google.com/ns/1.0" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns="http://www.w3.org/2005/Atom" xmlns:twitter="http://api.twitter.com/" xmlns:georss="http://www.georss.org/georss" xml:lang="en-US" >
   <id>tag:search.twitter.com,2005:search/</id>
   <link type="text/html" href="http://search.twitter.com/search?q=" rel="alternate" >
   <link type="application/atom+xml" href="http://search.twitter.com/search.atom?q=" rel="self" >
   <title>- Twitter Search</title>
   <link type="application/opensearchdescription+xml" href="http://twitter.com/opensearch.xml" rel="search" >

   <link type="application/atom+xml" href="http://search.twitter.com/search.atom?since_id=170944502142476289&q=&geocode=51.5069999695%2C-0.142489999533%2C10.0mi%22london%22" rel="refresh" >
   <updated>2012-02-18T18:55:19Z</updated>
   <openSearch:itemsPerPage>15</openSearch:itemsPerPage>
   <link type="application/atom+xml" href="http://search.twitter.com/search.atom?page=2&max_id=170944502142476289&q=&geocode=51.5069999695%2C-0.142489999533%2C10.0mi%22london%22" rel="next" >
   <entry>
          <id>tag:search.twitter.com,2005:170944502142476289</id>
          <published>2012-02-18T18:55:19Z</published>
          <link type="text/html" href="http://twitter.com/LondITjobs/statuses/170944502142476289" rel="alternate" >
          <title>Software Development Engineer II - London #job #jobs #hiring #career http://t.co/VsxPdWdT</title>
          <content type="html" >Software Development Engineer II - London #job #jobs #hiring #career http://t.co/VsxPdWdT</content>
          <updated>2012-02-18T18:55:19Z</updated>
          <link type="image/png" href="http://a3.twimg.com/profile_images/1812202768/jr_100_normal.png" rel="image" >
          <twitter:geo>
          <google:location>London</google:location>
          <twitter:metadata>
                 <twitter:result_type>recent</twitter:result_type>
             </twitter:metadata>
          <twitter:source>twitterfeed</twitter:source>
          <twitter:lang>en</twitter:lang>
          <author>
                 <name>LondITjobs (ITjobsLondon)</name>
                 <uri>http://twitter.com/LondITjobs</uri>
             </author>
      </entry> 

这是我目前的代码..

 <?php function get_twitter($feed) {

$xml = new SimpleXmlElement(file_get_contents($feed));


foreach ($xml->entry as $item) {

    $date = date("D, dS M Y g:i:sA T", strtotime($item->published));

    echo '<a href="' . $item->link->attributes()->href . '" target="_blank">' . $item->title . '</a><br />' .'<img src='.$item->link->link->attributes()->href .'/>'.'<br />'. $item->author->name . '<br />' . '<strong>' . $date . '</strong>' . '<br />';
}

}

?>

目前我已经使用XML的条目部分访问了第一个链接标记,我对如何访问图片有点不确定。我想过做链接[0],但不知道这是不是要走的路。有什么建议吗?

Heres what I currently have

1 个答案:

答案 0 :(得分:0)

终于找到了解决方案。

'<img src="http://api.twitter.com/1/users/profile_image/' . $item->author->name .'" width="55" height="55"'. '>' . '</a>' 

将用户名解析到URL的末尾,然后将其超链接回用户的配置文件。所有图片都有限,以确保一致性。