私は drupal を使用しており、大量の html を含む変数を持っています。私がやりたいことは、その html に表示される最初の画像を選択し、画像 src をキャプチャして、他の方法で画像を操作し、html からすべての画像を削除することです。これで、キャプチャした最初の画像ソースを含む変数と、html から画像を除いたものを含む変数が作成されます。
最初の画像を変数に配置するには、試しました-
$texthtml = $node->teaser;
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image);
echo $image['src'];
これは、イメージ コードが次のロジック (「img src..」) に従っている限り問題なく機能しますが、私のコンテンツ管理システムのおかげで、「img class..」のように「img」の直後に「src」を配置しない img タグもあります。 . この場合、上記のコードは 'img src..' の特定の順序に従う最初の画像のみを取得します。
次に、私が正常に使用している元の文字列から画像を削除するには-
$stripped = $node->teaser;
$stripped = preg_replace("/<img[^>]+\>/i", "(image) ", $stripped);
echo $stripped;
ありがとう!