Код:
$fh=fopen("news.xml","w");
$s="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$query=mysql_query("SELECT id_news,nick,addDate,title,newsText FROM news WHERE tested=1 AND (addDate>CURDATE()-10) ORDER BY clip DESC,addDate DESC LIMIT 5");
while(list($id_news,$nick,$addDate,$title,$newsText)=mysql_fetch_array($query)) {
$nick=CP1251toUTF8($nick);
$addDate=date("d.m.y H:i",$addDate);
$title=CP1251toUTF8($title);
$url="http://***/index.php?go=news_comment&id_news=$id_news";
$newsText=preg_replace("/&/","&",$newsText);
// Оставим теги, которые воспринимает флеш
$patterns=array('/\[b\]/','/\[\/b\]/','/\[i\]/','/\[\/i\]/','/\[u\]/','/\[\/u\]/','/\[list\]/','/\[\/list\]/','/\[\*\]/');
$replacements=array('<b>','</b>','<i>','</i>','<u>','</u>','<ul>','</ul>','<li>');
$newsText=preg_replace($patterns,$replacements,$newsText);
$newsText = str_replace("[url]http://","[url]",$newsText);
$newsText=preg_replace("/\[url\](.+?);(.+?)\[\/url\]/","<a href=\"http://$1\" target=\"_blank\">$2</a>",$newsText);
$newsText=preg_replace("/\[ftp\](.+?);(.+?)\[\/ftp\]/","<a href=\"ftp://$1\" target=\"_blank\">$2</a>",$newsText);
$newsText=preg_replace("/\[email\](.+?);(.+?)\[\/email\]/","<a href=\"mailto://$1\" target=\"_blank\">$2</a>",$newsText);
// Все остальные теги вырубим
$newsText=preg_replace("/\[img\].*?\[\/img\]/","",$newsText);
$newsText=preg_replace("/\[clan\].*?\[\/clan\]/","",$newsText);
$newsText=preg_replace("/\[prof\].*?\[\/prof\]/","",$newsText);
$newsText=preg_replace("/\[flash=\d+?,\d+?\].*?\[\/flash\]/","",$newsText);
$newsText=preg_replace("/\[.+?\]/","",$newsText);
// Перевод каретки заменим на <br>
$newsText=preg_replace("/\n/","<br>",$newsText);
$newsText=preg_replace("/\r/","",$newsText);
// Кодируем в УТФ-8
$newsText=CP1251toUTF8($newsText);
$s.="<news autor=\"$nick\" date=\"$addDate\" title=\"$title\" url=\"$url\">$newsText</news>\n";
}
// Запишем файл
fwrite($fh,$s);
fclose($fh);
|