我知道如何根据id访问不同的元素,但不知道如何获取html开始标记到html结束标记之间的所有内容。谁能帮帮我吗。 谢谢。
答案 0 :(得分: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);
答案 1 :(得分:1)
您可以使用DOMDocument类访问<html>
标记中的每个元素。
实施例
$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;
}