Сегодня Александр, задался интересным вопросом, как вывести твиты, на блоге, по определенному слову и на определенном языке. Мне стало интересно, я немного порылся в интернете, нашел более менее подходящий скрипт и переделал его под эту задачу, получилось вот так вот:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
<?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."¬s=".$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("<", "<", $clean_content[0]); $clean_content[0] = str_replace(">", ">", $clean_content[0]); $clean_content[0] = str_replace("&", "&", $clean_content[0]); $clean_content[0] = str_replace(""", "\"", $clean_content[0]); $clean_content[0] = str_replace("'", "'", $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; ?> |
Собственно использовать можно в различных целях, не только в блоге, но и просто как отдельный скриптик для вывода новостей например или еще чего-то очень полезного. Пользуйтесь, дорабатывайте, делитесь впечатлениями, проблемами и доработками.
Спасибо за внимание! Задавайте свои вопросы.
06.08.2010 - 10:18 пп
Опередил меня:) Я тоже нашел одно решение и начал над ним возиться, добавляя разные фишки. Единственное, что плохо — код слегка затормозил загрузку сайта =\ Может быть из-за моих ошибок с циклом, ща поизучаю твой код.
06.08.2010 - 11:24 пп
Для того, чтобы он не тормозил :) нужно предусмотреть кэш, например выводить результат в файлик, а файлик потом просто включать в шаблон.
07.08.2010 - 6:19 пп
Это только для вордпрес или для другой цмс тоже подойдет?
08.08.2010 - 5:16 дп
Это подойдет везде, где работает PHP