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

6 Август 2010

4 Comments

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

<?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;
?>

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

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

Продолжить чтение...

Новая версия TweetDeck

29 Май 2010

16 Comments

Обновилась моя любимая программа для Twitter.

Вот некоторые из понравившихся мне изменений которые были добавлены в последней версии:

  • Теперь можно постить не только в twitter но и в Facebook, MySpace, LinkedIn, Foursquare, Google Buzz. Нужно просто добавить аккаунты в настройках.
  • Видео с Youtube теперь просматривается прямо в программе, не нужно ходить на сайт.
  • Появилась возможность запланировать сообщение, и оно отправится автоматически в указанное время.
  • Добавили фильтр по словам в сообщениях. Например если не хотите 100 раз читать про чемпионат мира по футболу.

Немного изменился внешний вид программы, в целом новая версия мне понравилась, качайте, пробуйте. Работает на iPod, Ipad и на обычном компьютере с любой операционной системой.

Добавлено: чтобы программа TweetDeck нормально работала с русским языком, откройте настройки и включите параметр который показан на картинке:

Продолжить чтение...

Показываем твиты в WordPress блоге

21 Март 2010

37 Comments

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

<ul>
<?php
$feedURL = "http://twitter.com/statuses/user_timeline/9108312.rss"; // измените на адрес RSS из twitter-а
$doc = new DOMDocument();
$doc->load($feedURL);
$arrFeeds = array();
foreach ($doc->getElementsByTagName('item') as $node) {
    $itemRSS = array ( 
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        );
    array_push($arrFeeds, $itemRSS);
}
$limit = 5; // количество сообщений для вывода.
for($x=0;$x<$limit;$x++) {
    $title = str_replace('donchenko: ', '', $arrFeeds[$x]['title']); // замените donchenko на ваш логин в твиттере.
    $str = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a href=\"\\0\">\\0</a>", $title); 
    $pattern = '/[#|@][^\s]*/';
    preg_match_all($pattern, $str, $matches);	
 
    foreach($matches[0] as $keyword) {
        $keyword = str_replace(")","",$keyword);
        $link = str_replace("#","%23",$keyword);
        $link = str_replace("@","",$keyword);
        if(strstr($keyword,"@")) {
            $search = "<a href=\"http://twitter.com/$link\">$keyword</a>";
        } else {
            $link = urlencode($link);
            $search = "<a href=\"http://twitter.com/#search?q=$link\" class=\"grey\">$keyword</a>";
        }
        $str = str_replace($keyword, $search, $str);
    }
    echo '<li>'.$str.'</li>';
}
?>
</ul>

Вставьте этот код в место на вашем блоге, где нужно выводить сообщения твиттера и наслаждайтесь.

Данная функция была подсмотрена здесь.

Если что-то не работает, пишите в комментариях и не забывайте подписаться на мой твиттер.

Продолжить чтение...

Почему twitter?

16 Июнь 2009

9 Comments

Вот только что придумалось ответить на вопрос, который возникает у многих. Почему люди пишут в twitter, если у них есть собственный блог, а то и не один, а несколько?

На мой взгляд, twitter с его 140 символами в одном сообщении, ближе к общению в реальной жизни, чем посты в блогах, поэтому люди и пишут твиты каждый день.

Вспомните, как вы разговариваете с друзьями на улице или в баре, вы ведь не вываливаете им рассказ в 300 слов одной порцией, они просто устанут слушать, или начнут перебивать. Диалог между людьми как правило состоит из коротких предложений, хотя есть конечно и исключения.

Иногда вам не хочется рассказывать много, вы хотите просто похвастаться, или крикнуть что-то в толпу, для этого тоже больше подходит twitter и его 140 символов, чем отдельный пост в блоге.

Мне кажется что twitter в качестве средства общения с другими людьми, более человечный, чем блог.

Есть чем дополнить пост? Почему люди пользуются twitter-ом? Почему вы пользуетесь twitter-ом?

Продолжить чтение...