我正在使用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);