Php 删除<;img>;从字符串中标记并将其放置在变量中,img src在字符串中的位置可以变化

Php 删除<;img>;从字符串中标记并将其放置在变量中,img src在字符串中的位置可以变化,php,preg-match,strip,Php,Preg Match,Strip,我正在使用drupal,并且有一个包含html加载的变量。我想做的是选择html中出现的第一个图像,捕获图像src,以便我可以用其他方式操作图像,然后从html中删除所有图像。我现在应该有一个包含捕获的第一个图像源的变量,以及一个包含html减去任何图像的变量 要将第一个图像放入我尝试过的变量中- $texthtml = $node->teaser; preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i',

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

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

    $texthtml =  $node->teaser;
preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $texthtml, $image);
echo $image['src'];
$texthtml=$node->trister;
预匹配('/.+?)[\'''].>/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;
$stripped=$node->trister;
$stripped=preg\u replace(“/]+\>/i”,“(图像)”,$stripped);
回音$剥去;
谢谢!

使用以下命令

preg_match_all('/\<img(.*?)\/\>/', $texthtml, $matches);
preg\u match\u all('/\/',$texthtml,$matches);

请重新编辑您的问题,因为不清楚您是否真的不想提取标记的src部分(我认为这更有意义)或者真的想摆脱
img
part不要使用正则表达式解析html!WebnetMobile.com-我已经重新编辑了这个问题,抱歉。Eric,我应该怎么做?谢谢!谢谢Amar!这给了我一个数组,看起来像这样-数组([0]=>数组([0]=>(图片在这里)[1]=>我如何从中获得图像?对于Eric上面关于不使用正则表达式的评论,我也很好奇。谢谢!