2012-02-05 4 views
2

現在、Twitterのジオコードでつぶやくと、PHPを使って表示しています。しかし、現時点では、ツイートのURLにアクセスできず、代わりにユーザーのTwitterプロフィールを表示することを選択しました。TwitterのXMLタグ内のURLにアクセスする

私がアクセスしようとしているURLはリンクタグ内にある

<link type="text/html" href="http://twitter.com/pmhigham/statuses/166271863331368961"  rel="alternate" > 

XMLファイル内のその場所は、フィード繊維>エントリー・>リンクです。

正規表現を使用することを考えましたが、これを使用する方法についてはわかりません。

ここに私のコードです。

あなたはSimpleXMLをのattributes() methodを内蔵した属性にアクセスすることができます:私が正しくあなたを理解していれば

<h3><?php 
if (isset($column1Heading)) { 
echo $column1Heading; 
} 
?></h3> 
       <p> 
       <strong>Tweets within 10 miles radius of London Eye</strong></br> 
       <?php 
       $feed = simplexml_load_file ('http://search.twitter.com/search.atom?geocode=51.5069999695%2C-0.142489999533%2C10.0mi%22london%22&lang=en&rpp=5'); 
       if ($feed){foreach ($feed->entry as $item) { 

         echo '<a href=\'' . $item->author->uri. '\'>' . $item->title . '</a>', '</br>' . $item->published, '</br>'; 
       } 
       } 
       else echo "Cannot find Twitter feed!" 
       ?> 
       </br> 
       <strong>London Hashtag</strong> 
       </br> 
       <?php 
       $feed = simplexml_load_file ('http://search.twitter.com/search.atom?q=%23london&lang=en&rpp=5'); 
       if ($feed){foreach ($feed->entry as $item) { 

         echo '<a href=\'' . $item->author->uri. '\'>' . $item->title . '</a>', '</br>' . $item->published, '</br>'; 
       } 
       } 
       else echo "Cannot find Twitter feed!" 
       ?> 


      </p> 
     </li> 
     <li class="col2"> 
      <h3><?php 
       if (isset($column2Heading)) { 
        echo $column2Heading; 
       } 
       ?></h3> 
      <p> 
       <?php 
       $feed = simplexml_load_file ('http://search.twitter.com/search.atom?geocode=40.744544%2C-74.027593%2C10.0mi%22manhattan%2C+ny%22&lang=en&rpp=5'); 
       if ($feed){foreach ($feed->entry as $item) { 

         echo '<a href=\'' . $item->author->uri. '\'>' . $item->title . '</a>', '</br>' . $item->published, '</br>'; 
       } 
       } 
       else echo "Cannot find Twitter feed!" 
       ?> 
       <strong>NYC Hashtag</strong> 
       </br> 
       <?php 
       $feed = simplexml_load_file ('http://search.twitter.com/search.atom?q=%23nyc&lang=en&rpp=5'); 
       if ($feed){foreach ($feed->entry as $item) { 

         echo '<a href=\'' . $item->author->uri. '\'>' . $item->title . '</a>', '</br>' . $item->published, '</br>'; 
       } 
       } 
       else echo "Cannot find Twitter feed!" 
       ?> 

      </p> 
     </li> 
     <li class="col3"> 
      <h3><?php 
       if (isset($column3Heading)) { 
        echo $column3Heading; 
       } 
       ?></h3> 
      <p> 
       <?php 
       $feed = simplexml_load_file ('http://search.twitter.com/search.atom?lang=en&geocode=48.861%2C2.336%2C5.0mi%22paris%2C+fr%22&rpp=5&lang=en'); 
       if ($feed){foreach ($feed->entry as $item) { 

         echo '<a href=\'' . $item->author->uri. '\'>' . $item->title . '</a>', '</br>' . $item->published, '</br>'; 
       } 
       } 
       else echo "Cannot find Twitter feed!" 
       ?> 

      </p> 
     </li> 
    </ul> 
    <div class="clear"></div> 
</div> 
<?php require_once 'footer.php'; ?> 

答えて

1

$item->link->attributes()->href 

そうでなければ、正規表現は、この

$string = '<link type="text/html" href="http://twitter.com/pmhigham/statuses/166271863331368961"  rel="alternate" >'; 
preg_match('/href\=\"([^\"]+)\"/i', $string, $matches); 
のようになります。