1

我在其他地方似乎有类似的解决方案,但我无法转换为使用我自己的代码。

我有一个函数可以在段落标签之间拆分一个 html 字符串并返回一个数组。代码如下...

$dom = new DOMDocument();
$dom->loadHTML($string);
$domx = new DOMXPath($dom);
$entries = $domx->evaluate("//p");
$result = array();
foreach ($entries as $entry) {
    $result[] = '<' . $entry->tagName . '>' . $entry->nodeValue .  '</' . $entry->tagName . '>';
}

return $result;

有人可以帮助我从中删除 nodeValue 元素,以便它返回带有完整 html 标签的段落内容吗?

4

2 回答 2

4

您需要致电saveHTMLownerDocument物业:

$result[] = $entry->ownerDocument->saveHTML($entry);
于 2013-07-12T14:57:20.700 回答
2
$dom = new DOMDocument();
$dom->loadHTML($string);
$entries = $dom->getElementsByTagName('p');
$new_dom = new DOMDocument();
foreach ($entries as $entry) {
    $new_dom->appendChild($new_dom->importNode($entry, TRUE));
}
$result = $new_dom->saveHTML()
于 2013-07-12T15:03:28.300 回答