Выводим список твитов по запросу

Категории: Twitter

Сегодня Александр, задался интересным вопросом, как вывести твиты, на блоге, по определенному слову и на определенном языке. Мне стало интересно, я немного порылся в интернете, нашел более менее подходящий скрипт и переделал его под эту задачу, получилось вот так вот:

<?php
$twi_key = "wordpress"; /*  ключевое слово для поиска твитов */
$twi_exclude = "wordpress.com"; /* Исключать результаты с этим словом */
$twi_lang = "en"; /* Язык для поиска твитов */
$twi_limit = "3"; /*  Сколько твитов показывать */
$show = 0; /* Показывать автора твитов? 1-да, 0-нет */
 
$prefix = "<ul>"; // Это будет перед всем блоком твитов
$prefix_sub = "<li>"; // Это будет перед каждым отдельным твитом
$wedge = "<br />"; // Это между автором твита и самим твитом.
$suffix_sub = "</li>"; // Это будет после каждого твита.
$suffix = "</ul>"; // Это будет после всего блока твитов.
 
function parse_feed($twi_key, $twi_limit, $twi_lang, $twi_exclude, $show, $prefix_sub, $wedge, $suffix_sub) {
 
    $feed = "http://search.twitter.com/search.atom?q=&ands=".$twi_key."&nots=".$twi_exclude."&rpp=".$twi_limit."&lang=".$twi_lang;
    $feed = file_get_contents($feed);
    $feed = str_replace("&", "&", $feed);
    $feed = str_replace("<", "<", $feed);
    $feed = str_replace(">", ">", $feed);
    $clean = explode("<entry>", $feed);
    $amount = count($clean) - 1;
 
    for ($i = 1; $i <= $amount; $i++) {
 
    	$entry_close = explode("</entry>", $clean[$i]);
    	$clean_content_1 = explode("<content type=\"html\">", $entry_close[0]);
    	$clean_content = explode("</content>", $clean_content_1[1]);
    	$clean_name_2 = explode("<name>", $entry_close[0]);
    	$clean_name_1 = explode("(", $clean_name_2[1]);
    	$clean_name = explode(")</name>", $clean_name_1[1]);
    	$clean_uri_1 = explode("<uri>", $entry_close[0]);
    	$clean_uri = explode("</uri>", $clean_uri_1[1]);
    	$clean_content[0] = str_replace("&lt;", "<", $clean_content[0]); 
    	$clean_content[0] = str_replace("&gt;", ">", $clean_content[0]); 
    	$clean_content[0] = str_replace("&amp;", "&", $clean_content[0]); 
    	$clean_content[0] = str_replace("&quot;", "\"", $clean_content[0]);
    	$clean_content[0] = str_replace("&apos;", "'", $clean_content[0]);
 
    	echo $prefix_sub;
 
    	if ($show == 1) { 
    		echo  "<a href=\"" . $clean_uri[0] . "\" class=\"twitterlink\">" . $clean_name[0] . "</a>" . $wedge; 
    	}
    	echo $clean_content[0];
    	echo $suffix_sub;
    }
}
echo $prefix;
parse_feed($twi_key, $twi_limit, $twi_lang, $twi_exclude, $show, $prefix_sub, $wedge, $suffix_sub);
echo $suffix;
?>

Собственно использовать можно в различных целях, не только в блоге, но и просто как отдельный скриптик для вывода новостей например или еще чего-то очень полезного. Пользуйтесь, дорабатывайте, делитесь впечатлениями, проблемами и доработками.

Спасибо за внимание! Задавайте свои вопросы.

Почитать еще

  1. Выводим рекламу в архивах

Комментарии: 4Напишите свой комментарий!

  1. Tod Написал(а):

    Опередил меня:) Я тоже нашел одно решение и начал над ним возиться, добавляя разные фишки. Единственное, что плохо — код слегка затормозил загрузку сайта =\ Может быть из-за моих ошибок с циклом, ща поизучаю твой код.

  2. Dmitriy Donchenko Написал(а):

    Для того, чтобы он не тормозил :) нужно предусмотреть кэш, например выводить результат в файлик, а файлик потом просто включать в шаблон.

  3. Eviral Написал(а):

    Это только для вордпрес или для другой цмс тоже подойдет?

  4. Dmitriy Donchenko Написал(а):

    Это подойдет везде, где работает PHP