Как мога да изкарвам новините от koldata

Заповядай:

<?php
$open = file_get_contents("http://www.kaldata.com/index.php?action=news&catid=3");
$vzemia = explode('<ul id="article_list">',$open);
$vzemib = explode('</ul>',$vzemia[1]);
echo $vzemib[0];
?>

Само малко дизайн му трябва. ;)
 
@proba защо ми излизат така :

��������� ���������� � 18 ��������. �������������� �� ������ ����� ���������� �� �� ������ �� 12 �� 11 �������� ������, ������ ����� ����� ������ ����������� ��������� �����������, ����� ���� �� ���� ���������� ��� ����.

�� �������� �������� ���������� Intel ��������� ���� �� ���������� �� ����� 11 � 11,8 �������� ������. �������� ������������ �������� �� Intel ��� ������� �����, �� � �������� ����� �� ������ ��������� �� ��������� �� �������� �� �������� ���. ���� ��������� ���� ����������� �� ������� � ���������� ���������� �� ������ �� ������� � 1,2 �� ���.
 
Ползвай си направо RSS канала им
$kaldata = simplexml_load_file("http://www.kaldata.com/rosebud/rss.php?catid=3");
foreach ($kaldata->channel->item AS $result) :
echo "<a href=\"".$result->link."\">".$result->title."</a><br />";
endforeach;
 
На мен ми трябва следното нещо:

Взима се заглавието на новината и се записва в таблица "zaglavie"
Взима се и самата новина и се записва в таблица "novina" като в края на новината се добавя следното нещо:

Тази новина достигна до вас благодарение на: Kaldata.com

След това аз да си ги изваждам от базата.
 
Пробвай този код. Може да се наложи да пипнеш тук-там, но като цяло това е идеята. Ползвам го за новини от сайта на bTV. Може да го видиш на адрес http://geobg.info/index.php?a=1&p=5

Структура на таблицата:


CREATE TABLE `your_db_name`.`table_news` ( `lnk_id` bigint( 20 ) unsigned NOT NULL auto_increment ,
`lnk_code` tinyint( 4 ) NOT NULL default '0',
`lnk_label` varchar( 255 ) character set utf8 collate utf8_bin NOT NULL ,
`lnk_body` text character set utf8 collate utf8_bin NOT NULL ,
`lnk_desc` text character set utf8 collate utf8_bin NOT NULL ,
`lnk_icon` varchar( 255 ) NOT NULL ,
`lnk_url` varchar( 255 ) NOT NULL ,
`lnk_date` datetime NOT NULL ,
`lnk_key` varchar( 255 ) NOT NULL ,
PRIMARY KEY ( `lnk_id` ) ) ENGINE = MyISAM DEFAULT CHARSET = cp1251;


------------------------------------------

<?php

define("DB_NEWS", "`your_db_name`.`table_news`");

function FeedRSS($SourceURL = "")
{
$xmlStr = file_get_contents($SourceURL);

$t = explode("<item>", $xmlStr);

unset($t[0]);

$count = count($t);

for ($i = 1; $i <= $count; $i++)
{
$item_data = array();

$items = str_replace("</item>", "", $t[$i]);

$z = preg_match_all('/(<enclosure url=\")(.+)(\" type=\"image\/jpeg\" \/>)/', $items, $data);

$item_data['pic'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<img>)(.+)(<\/img>)/', $items, $data);

$item_data['img'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<title>)(.+)(<\/title>)/', $items, $data);

$item_data['title'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<body>)(.+)(<\/body>)/', $items, $data);

$item_data['body'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<link>)(.+)(<\/link>)/', $items, $data);

$item_data['link'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<description>)(.+)(<\/description>)/', $items, $data);

$item_data['description'] = htmlspecialchars(trim($data[2][0]));

$z = preg_match_all('/(<pubDate>)(.+)(<\/pubDate>)/', $items, $data);

$item_data['pubDate'] = htmlspecialchars(trim($data[2][0]));

$item_data['date'] = date("Y-m-d h-m-s", strtotime($data[2][0]));

$z = preg_match_all('/(<guid isPermaLink=\"false\">)(.+)(<\/guid>)/', $items, $data);

$item_data['guid'] = htmlspecialchars(trim($data[2][0]));

$R1 = mysql_query("SELECT `lnk_id` FROM " . DB_NEWS . " WHERE `lnk_key`='{$item_data['guid']}' LIMIT 1");

if (mysql_num_rows($R1) == 0)
{
$item_data['title'] = str_ireplace(""",""",$item_data['title']);
$item_data['body'] = str_ireplace(""",""",$item_data['body']);
$item_data['description'] = str_ireplace(""",""",$item_data['description']);

$sql = "INSERT INTO " . DB_NEWS .
" (`lnk_key`,`lnk_label`,`lnk_body`,`lnk_desc`, `lnk_icon`, `lnk_url`, `lnk_date`) VALUES ('{$item_data['guid']}', '{$item_data['title']}', '{$item_data['body']}', '{$item_data['description']}', '{$item_data['pic']}', '{$item_data['link']}', '{$item_data['date']}')";

$R1 = mysql_query($sql);
}

}

}

?>
 
Благодаря ти, но забравих да спомена, че ми трябва за phpBB2 форум. Искам да се пуска под формата на нова тема в определен раздел от определен потребител за да не се занимавам ръчно да ги поствам...
Някакъв NewsBot

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

Гадното е, че повечето сайтове не пишат цялата новина в RSS-то...
 
Пробвай с различни енкодинги...
А за новините... гадно е, но мисля, че имаше сайт(ове), кой(и)то пуска(т) целите новини...
 
PapaSmurf каза:
Пробвай с различни енкодинги...
А за новините... гадно е, но мисля, че имаше сайт(ове), кой(и)то пуска(т) целите новини...

От къде точно се сменя енкондинга? Търсих из файловете на бота, но не видях...
 

Back
Горе