我知道如何根据 id 访问不同的元素,但不知道如何获取 html 开始标签到 html 结束标签之间的所有内容。谁能帮帮我吗。谢谢。
问问题
2924 次
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 回答