Я изучаю эту тему уже несколько дней, и я по-прежнему не мудрее, как это сделать.
Я хочу получить RSS-канал от forexfactory.com на моем веб-сайте, я хочу сделать какое-то форматирование на том, что происходит, и я также хочу получить последнюю информацию от них (хотя эти последние два момента могут подождать, пока у меня есть еще что-нибудь или фид Бег).
Предпочтительно, я хотел бы развивать это с нуля, если кто-нибудь знает учебник или что-то, что я могу использовать?
Если нет, я соглашусь использовать сторонний API или что-то в этом роде, пока я получу часть работы.
Я не уверен, что это такое, но в RSS есть что-то, что я не получаю, если кто-нибудь знает какие-либо хорошие, возможно, базовые учебные пособия, которые очень помогли бы мне. Это непростая страница после страницы поисковых запросов.
Также я не буду суетиться на языке, который он выводит в Javascript, PHP или HTML будет здорово.
Спасибо за помощь.
Похоже, что SimplePie может быть тем, что вы ищете. Это очень простой RSS-плагин, который довольно прост в использовании и настраивается тоже. Вы можете скачать его с веб-сайта .
Вы можете использовать его на своих голых костях или, если хотите, можете глубже проникнуть в плагин. Вот демонстрация на их сайте.
index.php
include('rss_class.php'); $feedlist = new rss($feed_url); echo $feedlist->display(2,"Feed Title");
rss_class.php
<?php class rss { var $feed; function rss($feed){ $this->feed = $feed; } function parse(){ $rss = simplexml_load_file($this->feed); //print_r($rss);die; /// Check here for attributes $rss_split = array(); foreach ($rss->channel->item as $item) { $title = (string) $item->title; $link = (string) $item->link; $pubDate = (string) $item->pubDate; $description = (string) $item->description; $image = $rss->channel->item->enclosure->attributes(); $image_url = $image['url']; $rss_split[] = ' <li> <h5><a href="'.$link.'">'.$title.'</a></h5> <span class="dateWrap">'.$pubDate.'</span> <p>'.$description.'</p> <a href="'.$link.'">Read Full Story</a> </li> '; } return $rss_split; } function display($numrows,$head){ $rss_split = $this->parse(); $i = 0; $rss_data = '<h2>'.$head.'</h2><ul class="newsBlock">'; while($i<$numrows){ $rss_data .= $rss_split[$i]; $i++; } $trim = str_replace('', '',$this->feed); $user = str_replace('&lang=en-us&format=rss_200','',$trim); $rss_data.='</ul>'; return $rss_data; } } ?>
в<?php class rss { var $feed; function rss($feed){ $this->feed = $feed; } function parse(){ $rss = simplexml_load_file($this->feed); //print_r($rss);die; /// Check here for attributes $rss_split = array(); foreach ($rss->channel->item as $item) { $title = (string) $item->title; $link = (string) $item->link; $pubDate = (string) $item->pubDate; $description = (string) $item->description; $image = $rss->channel->item->enclosure->attributes(); $image_url = $image['url']; $rss_split[] = ' <li> <h5><a href="'.$link.'">'.$title.'</a></h5> <span class="dateWrap">'.$pubDate.'</span> <p>'.$description.'</p> <a href="'.$link.'">Read Full Story</a> </li> '; } return $rss_split; } function display($numrows,$head){ $rss_split = $this->parse(); $i = 0; $rss_data = '<h2>'.$head.'</h2><ul class="newsBlock">'; while($i<$numrows){ $rss_data .= $rss_split[$i]; $i++; } $trim = str_replace('', '',$this->feed); $user = str_replace('&lang=en-us&format=rss_200','',$trim); $rss_data.='</ul>'; return $rss_data; } } ?>
Я не использовал теги <TABLE>, так как может быть более одной статьи, которую вы хотите отобразить.
class RssFeed { public $rss = ""; public function __construct($article) { $this->rss = simplexml_load_file($article, 'SimpleXMLElement', LIBXML_NOERROR | LIBXML_NOWARNING); if($this->rss != false) { printf("<TR>\r\n"); printf("<TD>\r\n"); printf("<h3>%s</h3>\r\n", $this->rss->channel->title); printf("</TD></TR>\r\n"); foreach($this->rss->channel->item as $value) { printf("<TR>\r\n"); printf("<TD id=\"feedmiddletd\">\r\n"); printf("<A target=\"_blank\" HREF=\"%s\">%s</A><BR/>\r\n", $value->link, $value->title); printf($value->description); printf("</TD></TR>\r\n"); } } } }