0

私は 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;

ありがとう!

4

1 に答える 1

0

以下を使用して、

preg_match_all('/\<img(.*?)\/\>/', $texthtml, $matches);
于 2012-08-26T17:55:19.430 に答える