各投稿から最初の画像を取得しようとしています。以下のコードは、画像が 1 つしかない場合はうまく機能します。ただし、画像が複数ある場合は、画像は取得されますが、必ずしも最初の画像が取得されるとは限りません。
欲しいのは最初の画像だけです。2番目の画像は次へボタンになっていることが多いです
$texthtml = 'Who is Sara Bareilles on Sing Off<br>
<img alt="Sara" title="Sara" src="475993565.jpg"/><br>
<img alt="Sara" title="Sara two" src="475993434343434.jpg"/><br>';
preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $texthtml, $matches);
$first_img = $matches [1] [0];
これで「$first_img」を短い説明の前に貼り付けることができます
<img alt="Sara" title="Sara" src="<?php echo $first_img;?>"/>
ベストアンサー1
最初のソース タグだけが必要な場合は、preg_match
の代わりに を実行する必要がありますがpreg_match_all
、これで問題ありませんか?
<?php
$texthtml = 'Who is Sara Bareilles on Sing Off<br>
<img alt="Sara" title="Sara" src="475993565.jpg"/><br>
<img alt="Sara" title="Sara two" src="475993434343434.jpg"/><br>';
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image);
echo $image['src'];
?>