-1
<html>
<head>
<title>My Page</title>
</head>
<body>
<p>paragraph 1</p>
<p>paragraph 2</p>
<p>paragraph 3</p>
<p>paragraph 4</p>
<ul>
<li>item # 1</li>
<li>item # 2</li>
<li>item # 3</li>
<li>item # 4</li>
</ul>
<a href="#">anchor 1</a>
<a href="#">anchor 2</a>
<a href="#">anchor 3</a>
<a href="#">anchor 4</a>
<div>div # 1</div>
<div>div # 2</div>
<div>div # 3</div>
<div>div # 4</div>
</body>
</html>
我希望能夠提取指定的標記,可以說一個div標籤,並且它的內容。
到目前爲止,我有
$file = file_get_contents('file.html');
$dom = new DOMDocument();
$dom->loadHTML($file);
$xpath = new DOMXpath($dom);
$paragraphs = $xpath->query("/html/body//p");
for($i = 0; $i < $paragraphs->length; $i++)
{
# echo the tag and it's contents
}
我嘗試使用nodeValue
或textContent
,但他們只是打印標籤的內容,而不是加標籤的內容。
這是我第一次在PHP中使用DOM解析器。我知道使用正則表達式來解析HTML/XML是抗議,所以我使用DOM解析器。任何建議都會有幫助。
很好地完成!謝謝! – 2015-04-05 22:36:28
簡單而小巧。正是我所需要的 – 2015-04-05 22:37:23
'foreach($ paragraph as $ pargraph){'也簡單。 – chris85 2015-04-05 22:48:39