-7
вот код:DOMDocument: некоторые основные вопросы
<?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>";
}
}
>
Пожалуйста, научи меня, например:
- Что такое firstNode и LastNode в $ HTML? Как распечатать текст внутри этих узлов?
- Почему вторая часть кода ничего не печатает?
<h2>header 2</h2>
Это единственный узел?- В чем разница между textContet и nodeValue?
- Что такое textContent, item() и childnodes?
- Сколько дочерних одов содержит div # 1?
- Каковы childNodes из $ dom? Как я могу напечатать их имена?
- Какая ошибка в третьей части этого кода? Обе линии показывают то же самое!
Я прочитал ответ Гордона от here, но мне нужны некоторые ясные примеры.
извините за этот вопрос. если я нарушаю правило. Пожалуйста, не стесняйтесь удалить этот пост. – qmaruf
@qmaruf Попробуйте задать один вопрос одновременно - вы, вероятно, обнаружите, что некоторые из ваших вопросов ранее были заданы/ответили. –
Вы загружаете недопустимый фрагмент HTML в DOM - он ОЧЕНЬ придирчив к структуре разбора, и вы подавляете ошибки с '@' - плохой формой. –