PHP nodevalue剥离html标签

时间:2013-07-12 14:52:32

标签: php domdocument nodevalue

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

我有一个函数可以在段落标记之间拆分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标签的段落内容吗?

2 个答案:

答案 0 :(得分:4)

您需要在saveHTML媒体资源上致电ownerDocument

$result[] = $entry->ownerDocument->saveHTML($entry);

答案 1 :(得分: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()