Php DOMDocument:一些基本问题
下面是一个代码:Php DOMDocument:一些基本问题,php,domdocument,Php,Domdocument,下面是一个代码: <?php $html = <<< HTML <div id="one"> <h1>header 1</h1> <h2>header 2</h2> <blockquote> <p>paragraph1</p> <p>paragraph2</p> </blockquote> <b>b
<?php
$html = <<< HTML
<div id="one">
<h1>header 1</h1>
<h2>header 2</h2>
<blockquote>
<p>paragraph1</p>
<p>paragraph2</p>
</blockquote>
<b>bold text1</b>
<b>bold text2</b>
</div>
HTML;
$dom = new DOMDocument();
@$dom->loadHTML($html);
/******************3rd part*************/
echo $dom->childNodes->item(0)->nodeName."<br>";
echo $dom->childNodes->item(1)->nodeName."<br>";
/**********1st part**********/
$tags = $dom->getElementsByTagName("blockquote");
foreach($tags as $tag)
{
$ps=$tag->getElementsByTagName("p");
foreach($ps as $p)
{
echo $p->nodeValue."<br>";
}
}
/************2nd part**********/
$tags = $dom->getElementById("one");
foreach($tags as $tag)
{
$hs=$tag->getElementsByTagName("h1");
foreach($hs as $h)
{
echo $h->nodeValue."<br>";
}
}
请举例说明:
$html中的第一个节点和最后一个节点是什么?如何打印这些节点内的文本
为什么代码的第二部分什么也不打印
标题2
这是单个节点吗
textContet和nodeValue之间有什么区别李>
textContent、item()和childnodes的概念是什么
一部包含多少首儿童颂歌
$dom的子节点是什么?我如何打印他们的名字
此代码第三部分中的错误是什么?两行显示的是相同的李>
我已经从中阅读了@Gordon的答案,但我需要一些明确的例子
两者都是
注意,所有h1、h2和blockquote节点都是此节点的子节点
$dom->getElementById(0)
将返回第一个元素<代码>$dom->getElementById(1)
将返回第二个(如果存在)id
是此标记中属性的名称
我把其余的留给其他SO用户。很抱歉提出这种问题。如果我违反规则。。请随时删除此项post@qmaruf试着一次问一个问题-你可能会发现你的一些问题以前被问过/回答过。你正在将一个无效的HTML片段加载到DOM中-它对解析内容的结构非常挑剔,并且你用
@
-糟糕的形式抑制了错误。