PHP从HTML中剥离img标签,返回数组中的html和图像

ham*_*lin 3 html php

我需要编写一个带有一些HTML的函数,去掉img标签并返回html(没有图像).但是,我还需要保留imgs(在数组中),以便我可以单独将它们输出到页面.

我几乎不知道任何PHP所以最好的方法是什么?

Mic*_*ski 6

您需要熟悉DOMDocument类.执行此操作的最佳方法是使用解析HTML DOMDocument,并使用找到所有<img>标记getElementsByTagName('img').如果它是src您所追求的图像属性,DOMDocument可以返回它们并存储在数组中.

// HTML already parsed into $dom
$imgs = $dom->getElementsByTagName('img');
$img_src = array();

// Array of nodes to remove.
$to_remove = array();

foreach ($imgs as $img) {
  // Store the img src
  $img_src[] = $img->getAttribute('src');

  // Delete the node (I think this works)
  $to_remove[] = $img;
}

// Then remove all the nodes slated for deletion:
foreach ($to_remove as $node) {
  $dom->removeChild($img);
}
Run Code Online (Sandbox Code Playgroud)