RSS и RSS страница для каждого поста - PullRequest
0 голосов
/ 10 марта 2020

Это мой формат RSS-канала:

<item>
<title></title>
<link></link>
<description></description>
<pubDate></pubDate>
<guid></guid>
<dc:date></dc:date>
</item>

Я хочу проиграть последние 7 сообщений в стиле CSS, поэтому я использую этот код:

<?php
$url = "**THE URL I AM SCRAPING DATA FROM**";
$rss = simplexml_load_file($url);
$i = 0;
if (!empty($rss))
{
    $site = $rss
        ->channel->title;
    $sitelink = $rss
        ->channel->link;
    foreach ($rss
        ->channel->item as $item)
    {
        $title = $item->title;
        $link = $item->link;
        $description = $item->description;
        $item->description = strip_tags($item->description);
        $date = $item->pubDate;
        $pubDate = date('d.m.Y', strtotime($date));
        if ($i >= 7) break;
?>

<div class="post-item">
    <div class="post-item-wrap">
        <div class="post-image">
            <a href="<?php echo $link;?>">
                <img alt="" src="images/news/nra.jpg">
            </a>
        </div>
        <div class="post-item-description">
            <span class="post-meta-date"><?php echo $pubDate;?></span>
            <h2><a href="<?php echo $link ?>" target="_blank"><?php echo $title;?>
            </a></h2>
            <p><?php echo implode(' ', array_slice(explode(' ', $description), 0, 30)) . "..";?></p>
            <a href="<?php echo $link;?>" class="item-link">learn more <i class="icon-chevron-right"></i></a>
        </div>
    </div>
</div>

<?php
        $i++;
    }
}
?>

Теперь я хочу, чтобы каждое из этих 7 сообщений имело уникальный идентификатор. Мне нужен скрипт для создания элемента -> заголовок и элемент -> описание в зависимости от элемента -> ссылка. (Если я, например, нажму первый пост xml, я попаду на страницу, где я смогу отобразить заголовок и описание в зависимости от того, на какой пост я нажал)

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Если url «rss. php? Feed = 1» или «rss. php? Feed = 2»

$rssSno=$_GET['feed'];

$output = array_slice($rss->channel->item, ($rssSno-1),1);
0 голосов
/ 10 марта 2020

используйте этот код, получите последние 7 пунктов

array_slice($rss->channel->item, -7); 
...