删除<;img>;标记,并将其放在字符串中img src位置可能不同的变量中


Removing an <img> tag from string and placing it in variable where img src location in string can vary

我正在使用drupal,并且有一个包含html负载的变量。我想做的是选择出现在html中的第一个图像,捕获图像src,这样我就可以用其他方式操作图像,然后从html中删除所有图像。我现在应该有一个包含捕获的第一个图像源的变量,以及一个包含html减去任何图像的变量。

要将第一个图像放入我尝试过的变量-

    $texthtml =  $node->teaser;
preg_match('/<img.+src=[''"](?P<src>.+?)[''"].*>/i', $texthtml, $image);
echo $image['src'];

只要图像代码遵循以下逻辑,这就可以正常工作——"img src.."然而,由于我的内容管理系统,一些img标签不会将"src"直接放在"img"之后,例如-"img class.."。在这个例子中,上面的代码只获取遵循"img src.."特定顺序的第一个图像img代码可以按任何顺序排列,我该如何做到这一点?

为了从原始字符串中删除图像,我成功地使用了-

 $stripped = $node->teaser;
$stripped = preg_replace("/<img[^>]+'>/i", "(image) ", $stripped); 
echo $stripped;

谢谢!

使用以下

preg_match_all('/'<img(.*?)'/'>/', $texthtml, $matches);