
19.06.2008, 15:34
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
это не суть сейчас важно.. заголовки уберу... сейчас надо с записью разобраться...
Нужно убрать, что б ошибку в браузер не "выдавало"
Рабочий код:
<?
error_reporting(0);
ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']);
//грузим rss файл
$data = file_get_contents('http://bash.org.ru/rss/');
//обрабатываем
preg_match_all('|<pubDate>(.+)</pubDate>|i',$data,$dat);
preg_match_all('|<description><!\[CDATA\[(.+)\]\]></description>|i',$data,$content);
//теперь у нас есть 2 массива по 100 элементов, воспользуемся постраничным выводом
//всего элементов
$all = sizeof($content[1]);
//число сообщений на странице
$pnumber=10;
//номер страницы
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
//число страниц
$num_pages = ceil($all/$pnumber);
//начальная позиция
$start = $page*$pnumber-$pnumber;
//проверка номера страницы
if($page > $num_pages || $page < 1)
{
$page=1;
$start=0;
}
//заголовки
/*if(substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
{header('Content-type: text/html; charset=utf-8');}
else
{header('Content-type: application/xhtml+xml; charset=utf-8');}
header('Cache-control: no-cache');*/
//выводим верх страницы (html код, выносим за <?php
$text = '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>'.$_SERVER['HTTP_HOST'].'</title>
</head>
<body>';
//выводим цитаты
if($all)
{
for($i=$start; $i<$start+$pnumber; $i++)
{$text .= '<p style="border:1px solid;padding:2px">'.$dat[1][$i].'<br />'.str_replace('<br>','<br/>',iconv('windows-1251','utf-8',$content[1][$i])).'</p>';}
//навигация
$text .= '<p>';
for($pr = '', $i=1; $i<=$num_pages; $i++)
{
$text .= $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 2) ? ($i == $page ? " [$i] " : ' <a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$i.'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... '));
}
$text .= '</p>';
}
else
{echo '<p>ыыыы.... нет ничего</p>';}
$text .= '</body></html>';
$f = fopen("text.txt", "w");
fwrite($f, $text);
fclose($f);
?>
Код 100% рабочий, если у тебя не получиться, смотри права на запись(может ли твой скрипт создавать файлы)
рузультат выложить?
Последний раз редактировалось Naydav; 19.06.2008 в 15:45..
|
|
|