0

投稿から最初の画像を抽出する必要があります。このコードを見つけましたが、代わりに投稿の最後の画像が表示されます (例: http://zonadictoz.com.ar )。理由はわかりません!

function myPostImage()
{
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];

  if(empty($first_img)){ //Defines a default image
    $first_img = "/images/default.jpg";
  }
  return $first_img;
}

何か案は?

4

2 に答える 2

2

features 画像フィールドを使用する方がはるかに堅牢なソリューションですが、コードに関しては、preg_match_all()preg_match()に変更して、最初の一致のみがキャプチャされるようにすることができます。

<?php
$match = preg_match('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);

if ( $match )
    $first_img = $matches[1];
?>
于 2013-03-08T07:27:41.697 に答える
0

上記のコードを適応させることができましたが、最初の画像ではなく最後の画像からまだピックアップしているようです。どうすれば元に戻すことができますか?

于 2013-03-08T08:08:59.000 に答える