Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 11.06.2011, 21:29   #1
Заблокирован
 Разведчик
Аватар для Я убью:Frost:DD
 
Я убью:Frost:DD на правильном пути
Регистрация: 06.06.2011
Сообщений: 20
Популярность: 74
Сказал(а) спасибо: 65
Поблагодарили 32 раз(а) в 22 сообщениях
 
По умолчанию 6 фрагментов кода PHP для взаимодействия с Twitter

Twitter является отличным инструментом для владельца сайта. Если вам интересно привлечь больше посетителей на ваш сайт и увеличить трафик, то следует подумать о том, чтобы интегрировать функционал Twitter на свои страницы. В данном уроке представлены несколько фрагментов кода PHP для взаимодействия с Twitter.
1. Получаем количество последователей в Twitter

Очень легко добавить количество последователей в Twitter на боковую панель вашего сайта. Можно воспользоваться следующей функцией:1 function get_followers($twitter_id){
2 $xml=file_get_contents('http://twitter.com/users/show.xml?screen_name='.$twitter_id);
3 if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
4 $tw['count'] = $match[1];
5 }
6
7 return $tw['count'];
8 }


Вот как использовать ее в коде страницы:1 $nb = get_followers('phpsnippets');
2 echo "За фрагментами PHP кода следят уже ".$nb." человек!";

2. Получаем последний статус Twitter

С помощью PHP и cURL очень просто получить статус определенного пользователя. Как только он у вас есть, его можно показать в блоге.01 function get_status($twitter_id, $hyperlinks = true) {
02 $c = curl_init();
03 curl_setopt($c, CURLOPT_URL, "http://twitter.com/statuses/user_timeline/$twitter_id.xml?count=1");
04 curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
05 $src = curl_exec($c);
06 curl_close($c);
07 preg_match('/<text>(.*)<\/text>/', $src, $m);
08 $status = htmlentities($m[1]);
09 if( $hyperlinks ) $status = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", '<a href="%5C%22%5C%5C0%5C%22">\\0</a>', $status);
10 return($status);
11 }


Пользоваться данной функцией тоже очень просто:1 echo get_status('catswhocode');



3. Получаем статус без проблем с кодировкой

А вот что нужно делать, чтобы избежать проблем с кодировкой пробелов и специальных символов при выводе последнего статуса.1 <a href="http://twitter.com?status=@catswhocode Привет! Как дела?">Чирик!</a>


Все очень просто: вместо ссылки на [Ссылки могут видеть только зарегистрированные пользователи. ] используем [Ссылки могут видеть только зарегистрированные пользователи. ] (без www).


4. Получаем количество переносов заметки для определенной страницы

Многие блогеры используют виджет Tweetmeme для вывода количества переносов заметки. Но на сайте Tweetmeme есть API, с помощью которой вы можете получить количество переносов определенного адреса URL. Следующая функция получает количество повторных заметок Twitter в которых адрес URL был передан как параметр:01 function tweetCount($url) {
02 $content = file_get_contents("http://api.tweetmeme.com/url_info?url=".$url);
03 $element = new SimpleXmlElement($content);
04 $retweets = $element->story->url_count;
05 if($retweets){
06 return $retweets;
07 } else {
08 return 0;
09 }
10 }


Пример использования функции:1 echo tweetCount('http://www.catswhocode.com');



5. Проверяем отношения между двумя пользователями

Если вы хотите знать, следит ли определенный пользователь за вашими заметками (или за чьими-то другими), можно использовать API Twitter. Ниже приведенный фрагмент кода выводит true, если два пользователя, определенные на строке 18 и 19, являются друзьями в системе.01 /* Делаем запрос */
02 function make_request($url) {
03 $ch = curl_init();
04 curl_setopt($ch,CURLOPT_URL,$url);
05 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
06 $result = curl_exec($ch);
07 curl_close($ch);
08 return $result;
09 }
10
11 /* Проверяем соответствие */
12 function get_match($regex,$content) {
13 preg_match($regex,$content,$matches);
14 return $matches[1];
15 }
16
17 /* Персоны для проверки */
18 $person1 = 'phpsnippets';
19 $person2 = 'catswhocode';
20
21 /* Оправляем запрос на Twitter */
22 $url = 'https://api.twitter.com/1/friendships/exist';
23 $format = 'xml';
24
25 /* Проверяем */
26 $persons12 = make_request($url.'.'.$format.'?user_a='.$person1. '&user_b='.$person2);
27 $result = get_match('/<friends>(.*)<\/friends>/isU',$persons12);
28 echo $result; // Возвращаем "true" или "false"



6. Укорачиваем URL для Twitter

Если вы пользователь Twitter, то наверняка знаете, что размещать заметки длиннее 140 символов нельзя. Чтобы обойти данную проблему нужно воспользоваться укорачивателем адреса URL. В Internet можно найти большое количество самых разных укорачивателей URL. *******.com является одним из них. Он не делает самый короткий URL, но его большим плюсом является отсутствие требования наличия регистрации для использования в PHP коде.

Следующая функция получает длинный адрес URL и возвращает короткий, используя укорачиватель *******.1 function get*******($url) {
2 return file_get_contents("http://*******.com/api-create.php?url=".$url);
3 }


Или другой вариант. Ниже приведен код функции, которая использует сервис ******* для укорачивания адресов URL:01 function bitly($url) {
02 $content = file_get_contents("http://api.*******/v3/shorten?login=YOURLOGIN&apiKey=YOURAPIKEY&longUrl= ".$url."&format=xml");
03 $element = new SimpleXmlElement($content);
04 $bitly = $element->data->url;
05 if($bitly){
06 return $bitly;
07 } else {
08 return '0';
09 }
10 }


  Ответить с цитированием
Пользователь сказал cпасибо:
ПодпольщикPB (12.06.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Кода OggI1111 Общение и обсуждение Counter-Strike 3 10.04.2011 16:29
[Услуги] Раскрутка и оформление: вконтакте, мой мир/mail.ru, твиттер/twitter. codiBB Социальные сети 0 09.04.2011 04:49
взаимодействия стихий RF 2оо Вопросы и ответы: RF Online 2 08.08.2010 01:34
[Баг] инжа sarrulkas Читы, баги и статьи по WoW 3 28.04.2010 14:51

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 12:58.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net