0

私がやろうとしているのは、vBulletin フォーラムのユーザーに、RSS ポスターを使用して生成されるたびに Web サイトから最新のニュース記事を投稿してもらうことです。残念ながら、この Web サイトには RSS フィードがありません。そのため、サイトのソース コードに基づいて作成しました。フィードは、タイトルとニュース投稿へのリンクを取り込みます。また、ニュース投稿の説明を vBulletin の投稿に表示したいので、投稿の説明を収集するための php スクリプト (以下を参照) を作成しました。

私の問題は、phpスクリプトを使用してvBulletinのRSSポスターを使用すると、常にすべての古い投稿が更新され、最新の投稿の説明が表示されることです。これは、すべての投稿で php スクリプトを使用するためです。常に最新の投稿の説明が表示されます。

私は一生、これを回避する方法を考えることができません。どんな助けでも大歓迎です。ありがとう!

<?php 
$fullxml = simplexml_load_file('http://feed43.com/efpatches.xml');
$link = $fullxml->channel->item[0]->link;
$page = file_get_contents($link);
$doc = new DOMDocument();
$doc->loadHTML($page); 
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div) {
    if ($div->getAttribute('id') === 'G_g_ArticleViewContainer_viewArticleContent_v_hEditor_forView_strArticleContent_Viewer') {
return nl2br(str_replace("&nbsp;","",htmlentities($div->nodeValue,null,'utf-8')));
    }
}
?>
4

1 に答える 1

0

RSS フィードを定期的に呼び出して、表示に必要な形式ですべてを取得し、結果のオブジェクトをサーバーにキャッシュしてみませんか。フォーラムで RSS データを表示する必要があるときはいつでも、キャッシュされたオブジェクトをロードして使用してください。この方法で RSS 構造全体をキャッシュするだけでよく、RSS から最新の記事を更新することだけを心配する必要はありません。

于 2013-01-24T17:35:43.870 に答える