Я создаю мобильную версию веб-сайта моей компании, и нам нужна только лента RSS.
У меня есть RSS-код с этим кодом:
<?php
$url = 'http://www.someurl.com/rss/articles';
$feed = simplexml_load_file($url, 'SimpleXMLIterator');
$filtered = new LimitIterator($feed->channel->item, 0, 15);
foreach ($filtered as $item) { ?>
<li data-icon="false">
<h2><a href="<?php echo $item->link; ?>"><?php echo $item->title; ?></a></h2>
<p class="desc"><?php echo $item->description; ?></p>
<br />
<p class="category"><b><?php echo $item->category; ?></b></p>
<a class="link" href="<?php echo $item->link; ?>">Read More</a>
<br />
<p class="pubDate"><?php echo $item->pubDate; ?></p>
<br />
</li>
<?php } ?>
Я бы хотел использовать fopen()
или file_get_contents()
, чтобы обрабатывать нажатие ссылки «Подробнее» и удалять все содержимое входящей страницы, кроме тега <article>
.
В последний день я искал в Google и не смог найти учебников по этому вопросу.
EDIT:
Я хотел бы загрузить раздетое содержимое HTML в их собственное представление в моей структуре.
ВТОРОЕ РЕДАКТИРОВАНИЕ:
Я просто хотел бы поделиться тем, как я решил эту проблему.
Я изменил свой $item->link;
, чтобы он передавался через URL как переменную:
<a href="article.php?rss_url=<?php echo $item->link; ?>">Read More</a>
На странице article.php я собираю переменную с помощью оператора if()
:
if (isset($_GET['rss_url']) && is_string($_GET['rss_url'])) {
$url = $_GET['rss_url'];
}
Затем, основываясь на предложениях приведенных ниже комментариев, я разработал способ сбора входящего URL-адреса и удаления необходимых тегов для последующего форматирования для моего мобильного представления:
<div id="article">
<?php
$link = file_get_contents($url);
$article = strip_tags($link, '<title><div><article><aside><footer><ul><li><img><h1><h2><span><p><a><blockquote><script>');
echo $article;
?>
</div>
Надеюсь, это поможет всем, кто может столкнуться с этой проблемой:)