2012-05-14 21 views

答えて

2

特定のフィード構造が異なることを考慮すると、私が知っているこれを行う明示的な方法はありません。私は、コードをコピーして貼り付けると、私はWordpressのを使用していませんでした

いくつかのマイナーな変更を加えることができました

How to Display Thumbnail from WordPress RSS feed using SimplePie?

、しかし:これは私がこの記事をチェックアウトit.First行うことができた方法ですそれは私に何をする必要があるかのアイデアを与えるのに役立ちました。

このコードは、feed-> init();の後に挿入します。

//This function will get an image from the feed 

function returnImage ($text) { 
    $text = html_entity_decode($text, ENT_QUOTES, 'UTF-8'); 
    $pattern = "/<img[^>]+\>/i"; 
    preg_match($pattern, $text, $matches); 
    $text = $matches[0]; 
    return $text; 
} 


    //This function will filter out image url which we got from previous returnImage() function 

    function scrapeImage($text) { 
     $pattern = '/src=[\'"]?([^\'" >]+)[\'" >]/'; 
     preg_match($pattern, $text, $link); 
     $link = $link[1]; 
     $link = urldecode($link); 
     return $link; 

    } 

今、あなたはそれが説明を検索するように、imgタグを検索し、正しく出力を構築するために、または私の場合には、コンテンツ、機能を呼び出したいです。これは私のコードは次のように見えたものです:

foreach ($feed->get_items(0 , 3) as $item): 
    $feedDescription = $item->get_content(); 
    $image = returnImage($feedDescription); 
    $image = scrapeImage($image); 
    $image_url= $item->get_permalink(); 
    $description = $item->get_description(); 
?> 
     <div class="item"> 
      <h4><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h4> 
      <div class="image-box"><?php echo '<a href="' . $image_url . '"><img src="' . $image . '" /></a>'."\n";?></div> 
      <p><?php echo $description ?></p> 
      <p><a href="<?php echo $item->get_permalink(); ?>">Continue Reading</a></p> 
     </div> 

    <?php endforeach; ?> 

それはいくつかのbugginがかかる場合がありますが、あなたのimgタグがフィードに存在する場合、あなたが知っていれば、あなたははSimplePieフィードや機能を解析するために取得することができ、タグを見つけるだろうし、それはhtmlの準備ができています。

だけで、あなたのループを編集することができ、1つのポストを引くには:

foreach ($feed->get_items(0 , 1) as $item): 

最初の数字(0)は、最新の投稿をされての出発点、0です。 2番目の数字(1)は、取得する投稿の数です。 1つのイメージだけが必要なので、その番号は1になります。

+0

hmm.niceありがとう。 –

1

多分あなたはクライアント側でやりたいと思うかもしれません。 jQueryでは非常に簡単です。 のはあなたのJavaScriptであなたの商品・コンテンツがこの

var content = '<div><a href="http://kwout.com/cutout/b/es/y2/ukn_rou_sha.jpg" 
imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"> 
<img border="0" height="239" src="http://kwout.com/cutout/b/es/y2/ukn_rou_sha.jpg" 
width="320"></a>Erat austro rerum.</div>'; 

のように見えるその後、あなたは簡単にjQueryの-セレクタとコンテンツ内の画像を同定し、単離することができましょう。心配 - - その後、いくつかの他のセレクタは、トリックを行います(ほとんど;-)それは、コンテンツ内の最初の画像はありませんんか内容は、この例よりも複雑である場合は例えば

$(content).find('img:first'); //find the FIRST image inside an element or 
$(content).find('a:first');  //take the hyperlink AND the image 

を使用しています。詳細については、jquery.comのドキュメントをご覧ください。

このようにして要素を削除したり、コンテンツのさまざまな要素にクラスを追加したり、クラスを追加したりして投稿を表示しました。

関連する問題