PHPで文字列の最初の画像を取得する 質問する

PHPで文字列の最初の画像を取得する 質問する

各投稿から最初の画像を取得しようとしています。以下のコードは、画像が 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'];
?>

おすすめ記事