2012-03-29 5 views
0

私の会社のウェブサイトのモバイル版を構築しており、必要なのはRSSフィードです。RSS用PHPを使用したページからの特定のHTMLとコンテンツの削除

私はこのコードで罰金に引っ張っ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の内容をロードしたいと思います。

SECOND EDIT:

私はちょうど私がこの問題を解決する方法共有したいと思います。

私は、変数としてURLを通過することが私の$item->link;を修正:article.phpページ

<a href="article.php?rss_url=<?php echo $item->link; ?>">Read More</a> 

、私は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> 

うまくいけば、これは、この問題が発生する可能性があり、誰に役立ちます:)

答えて

1

私はそれを正しく理解すればわからないんだけど誰かがより多くのリンクをクリックするたびに、あなたが出力する現在のページの内容をしようとしていますか?

私はおそらくやってJavasciptを使用し

、その多分jQueryの別のページからHTMLをロードし、ページの唯一の特定の断片を読み込むことができます..しかし、あなたは、PHPを使用する必要がある場合、私はSimple HTML DOM Parser

になり .load() function
$html = file_get_html($yourUrl); 
$article = $html->find('article', 0); // Assuming you only have 1 article/page 
echo $article; 
1

私が見ることができる唯一の方法は、リンクを経由するように独自のスクリプトを設定することです。

ので、代わりのエコー$アイテム - >リンクを設定、その後LinkProcessor.phpというスクリプトを

echo 'LinkProcessor.php?link='.$item->link 

を使用して、そのページ上のfile_get_contentsを使用します。次に、記事タグを表示して結果をエコーするようにXMLを処理することができます。

$article = file_get_contents($_GET['link']); 
$xml = new SimpleXMLElement($article); 
$articleXml = $xml->xpath('//article'); 
echo articleXml[0]; 

コードはテストされていませんが、問題ありません。

関連する問題