1

可能重复:
将 DOMDocument 中的特定元素导出为字符串

我知道如何根据 id 访问不同的元素,但不知道如何获取 html 开始标签到 html 结束标签之间的所有内容。谁能帮帮我吗。谢谢。

4

2 回答 2

1

如果你想用 PHP 解析一个 html 页面,你可以使用 PHP 的 DOMDocument 扩展,例如:

// a new dom object
$dom = new domDocument;
// load the html into the object
$dom->loadHTML($html);
// keep white space
$dom->preserveWhiteSpace = true;
// nicely format output
$dom ->formatOutput   = true;
//get element by tag name
$htmlRootElement = $dom->getElementsByTagName('html');
echo htmlspecialchars($dom->saveHTML(), ENT_QUOTES);

或者您可以在客户端使用 JavaScript 执行此操作:

var htmlRootElement = document.getElementsByTagName("html");
alert(htmlRootElement.innerHTML);
于 2012-12-29T16:59:22.767 回答
1

<html>您可以使用DOMDocument 类访问标记中的每个元素。

例子

$htmlDoc = new DOMDocument;

$html = <<<HTML
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>My Site</title>
    <meta name="description" content="DOM test">
</head>
<body>
    <h1>Hello</h1>
    <p>This is a DOM test</p>
</body>
</html>
HTML;

$htmlDoc->loadHTML($html);
$htmlElement = $htmlDoc->getElementsByTagName("html");

foreach ($htmlElement->item(0)->childNodes as $element) {
    echo 'Element name: ' . $element->nodeName . PHP_EOL;
    echo 'Element value: '. $element->nodeValue . PHP_EOL;
}
于 2012-12-29T17:01:56.370 回答