Здравствуйте, в общем такая ситуация есть сайт на css wordpress тематики WOT, мне захотелось в сайт-баре вывести одну рандомную цитату с сайта _http://wargag.ru/quotes/ добавил виджет поставил плагин для размещения пхп кода в постах виджетах, нашёл даже парсер пхп попробовал подогнать его под себя, опробовал получилось вывести, но цитата не обновляется а висит постоянно одна и та же, в пхп я на начальном уровне буду благодарен за помощь.
код парсера
<?php
function browser($url) {
$url="http://wargag.ru/quotes/";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
preg_match_all('~<p>(.*?)</p>~is', browser($url), $text);
print implode('<br />', array_slice($text[1], 0, 1));
?>[свернуть]
- 13.03.2013 17:45
- 13.03.2013 18:20
- 13.03.2013 18:55
aidem,
На сайте стоит Hyper Cache его чистил, но ситуация та же. - 13.03.2013 19:11
- Регистрация: 22.05.2011
- Сообщений: 129
- Репутация: 23
1. вы не думали про то чтобы спарсить все цитаты и хранить их у себя в базе(просто каждый раз при обновлении страницы лезть на сторонний сайт нехорошо)
2. все правильно вы печатаете первую попавшую цитату, функция случайного вывода randСпасибо сказали:
Bask(13.03.2013), - 13.03.2013 19:32
24list, поможете спарсить все цитаты с сайта ?
по второму пункту хотелось бы наглядного примера куда вставить функцию rand со всеми вытекающими последствиями - 13.03.2013 19:43
У вас парсер не правильно написан.
Вот будет выдавать случайные цитатыPHP код:<?php
function browser($url) {
$url="http://wargag.ru/quotes/";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
$html = curl_exec($ch);
curl_close($ch);
return $html;
}
preg_match_all('~</span></div>(.*?)</div>~is', browser($url), $text);
preg_match_all('~<p>(.*?)</p>~is',implode('', $text[0]),$text);
print $text[0][rand(0,count($text[0])-1)];
unset($text);
?> - 13.03.2013 20:22
Думаю, что выводить спарсенные цитаты лучше, чем ходить за ними на чужой ресурс. К тому же если он вдруг станет не доступным?
Вот код, который выводит файлы случайным образом, причем можно и картинки выводитьСкрытый текст (вы должны зарегистрироваться или войти под своим логином):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь. - 13.03.2013 21:25
Вот напарсил цитаты(664 штуки), мало ли пригодиться.
quotes.zip
Подключается просто. Файл из архива заливаете куда угодно(пусть будет корень сайта) и в нужном месте вызываетеPHP код:Это выведет одну, произвольную цитату$quote = file('путь_к_файлу/quotes.txt');
echo $quote[array_rand($quote)];
Спасибо сказали:
Aldan(13.03.2013), cOAPerator(14.03.2013),
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Нужна помощь! | Социальные сети | 5 | 26.09.2012 15:24 |
Нужна помощь с JS | Web программирование | 3 | 22.07.2012 17:53 |
Нужна помощь. | Общие вопросы поисковой оптимизации | 6 | 16.02.2012 02:23 |
Нужна помощь в ЧПУ! | Web программирование | 1 | 05.12.2010 05:27 |
Нужна помощь. | Софт, скрипты, сервисы | 4 | 11.02.2010 14:30 |