以下代码输出解析后的html:
$domd = new DOMDocument('5.0', 'utf-8');
libxml_use_internal_errors(true);
$domd->loadHTML(mb_convert_encoding(($postDetails['content']), 'HTML-ENTITIES', 'UTF-8'));
libxml_clear_errors();
echo $domd->saveHTML();
然而,它会输出额外的标签,例如<html>
,<head>
等。我想只获取body
标签内的内容。我如何实现这一目标?
例如:如果<body>
标记包含<p>
或其他可能包含内容的标记,我需要按原样显示这些标记。
答案 0 :(得分:3)
saveHTML()
支持可选参数$node
。使用它,您可以在Document中指定一个节点,该节点应该导出而不是整个文档。如果您只想导出<body>
,请使用:
echo $domd->saveHTML($domd->getElementsByTagName('body')->item(0));