DIV的是這樣的我應該如何在php中使用dom來獲取div的內容?
<div style="width:90%;margin:0 auto;color:#Black;" id="content">
this is text, severaltags
</div>
如何我應該得到div的內容,包括在PHP中使用DOM的
標籤?
DIV的是這樣的我應該如何在php中使用dom來獲取div的內容?
<div style="width:90%;margin:0 auto;color:#Black;" id="content">
this is text, severaltags
</div>
如何我應該得到div的內容,包括在PHP中使用DOM的
標籤?
假設您使用PHP5,您可以使用DOMDocument
- 請注意,這不提供檢索元素的內部html的簡單方法。你可以沿着以下的東西:
function DOMinnerHTML($element)
{
$innerHTML = "";
$children = $element->childNodes;
foreach ($children as $child)
{
$tmp_dom = new DOMDocument();
$tmp_dom->appendChild($tmp_dom->importNode($child, true));
$innerHTML.=trim($tmp_dom->saveHTML());
}
return $innerHTML;
}
$dom = new DOMDocument();
$dom->loadHTML($html);
$items = $dom->getElementsByTagName('div');
if ($items->length)
{
$innerHTML = DOMinnerHTML($items->item(0));
}
echo $innerHTML;
對於一些這個簡單的,雖然我不通常建議的話,我會使用正則表達式:
preg_match('|<div[^>]+>(.*?)</div>|is', $html, $match);
if ($match)
{
echo 'html is: ' . $match[1][0];
}
不錯的辦法。在DOMinnerHTML函數中,可以使用已經爲每個DOMNode和DOMElement對象定義的ownerDocument(關聯的DOMDocument對象)屬性。即你可以放在你的foreach循環中:'$ innerHTML。= $ child-> ownerDocument-> saveXML($ child);'[source](http://www.php.net/manual/de/class.domelement .php#101243) – 2011-05-03 08:17:18
不錯的katsuo!不知道所有者文件 – 2011-05-03 08:20:20
是啊!它非常方便!這就是爲什麼我想在這裏提到它。 – 2011-05-03 08:22:28
如果我沒看錯你想要這個
echo "< div style='width:90%;margin:0 auto;color:#000000;font-size:14px;line-height:24px;'
id='content'>";
echo "this is text, several `<br/>` tags";
echo "< /div>";
只是不介意在雙引號(「)內使用雙引號(」)。在雙引號內使用單引號(')。
我知道這是舊的,但這是一些壞蛋DOM代碼在這裏.... – DadaB 2012-12-13 18:17:23
是這樣的嗎?
$document = new DOMDocument();
$document->loadHTML($html);
$element = $document->getElementById('content');
要得到的值,你可以嘗試這樣的事情
$doc = new DOMDocument();
$doc->loadHTMLFile('link-t0-html-file.php');
$xpath = new DOMXPath($doc);
$element = $xpath->query("//*[@id='content']")->item(0);
echo $element->nodeValue;
http://php.net/manual/en/domxpath.query.php有一些很好的例子 – 2011-05-03 07:54:56
domxpath或正則表達式 – Ibu 2011-05-03 07:57:20
** div的內容**或具有'id = content'的div – diEcho 2011-05-03 11:09:39