Доступ к URL-адресу в теге XML Twitter - PullRequest
2 голосов
/ 06 февраля 2012

В настоящее время я разбираю твиты в твиттере по геокодированию и отображаю их с помощью php.Но в настоящее время не удалось получить доступ к URL-адресу твита, и вместо этого он решил показать профиль пользователя в Twitter.

URL-адрес, к которому я пытаюсь получить доступ, находится в теге ссылки

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

Его местоположение в XML-файле - Feed-> Entry-> Link.

Я думал об использовании регулярного выражения, но не знаю, как его использовать.

Вотмой код.

<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 Ответ

1 голос
/ 06 февраля 2012

Если я вас правильно понимаю:

Вы можете получить доступ к атрибуту с помощью встроенного attributes() метода из SimpleXML.

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

В противном случае регулярное выражение должно выглядеть следующим образом

$string = '<link type="text/html" href="http://twitter.com/pmhigham/statuses/166271863331368961"     rel="alternate" >';
preg_match('/href\=\"([^\"]+)\"/i', $string, $matches);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...