php DOMDocument如何将节点值转换为字符串

时间:2012-01-22 21:02:25

标签: php domdocument

  

可能重复:
  How can I get an element's serialised HTML with PHP's DOMDocument?
  PHP + DOMDocument: outerHTML for element?

我正在尝试从字符串中提取所有img标记。我正在使用:

$domimg = new DOMDocument();
@$domimg->loadHTML($body);
$images_all = $domimg->getElementsByTagName('img');

foreach ($images_all as $image) {
  // do something
}

我想将src =值甚至完整的img标记放入数组或字符串中。

2 个答案:

答案 0 :(得分:7)

在每个节点上使用saveXML()saveHTML()将其添加到数组中:

$img_links = array();
$domimg = new DOMDocument();
$domimg->loadHTML($body);
$images_all = $domimg->getElementsByTagName('img');

foreach ($images_all as $image) {
  // Append the XML or HTML of each to an array
  $img_links[] = $domimg->saveXML($image);
}

print_r($img_links);

答案 1 :(得分:0)

您可以尝试像simplexml_load_string这样的DOM解析器。看看我在这里发布的类似答案: Needle in haystack with array in PHP