Я пытаюсь написать php-скрипт для обхода веб-сайта и сохранения некоторых элементов в базе данных.php - Простой HTML-элемент - элементы между другими элементами
Вот моя проблема: веб-страница написана так:
<h2>The title 1</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
<h2>The title 2</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
<p class="one_class"> Some different text </p>
<p> Some other interesting text </p>
<h2>The title 3</h2>
<p class="one_class"> Some text </p>
<p> Some interesting text </p>
Я хочу, чтобы получить только h2 и р с интересным текстом, а не р класс = «one_class».
Я попробовал этот PHP код:
<?php
$numberP = 0;
foreach($html->find('p') as $p)
{
$pIsOneClass = PIsOneClass($html, $p);
if($pIsOneClass == false)
{
echo $p->outertext;
$h2 = $html->find("h2", $numberP);
echo $h2->outertext;
$numberP++;
}
}
?>
функция PIsOneClass ($ HTML, $ р):
<?php
function PIsOneClass($html, $p)
{
foreach($html->find("p.one_class") as $p_one_class)
{
if($p == $p_one_class)
{
return true;
}
}
return false;
}
?>
Это не работает, я понимаю, почему, но я не знать, как его решить.
Как мы можем сказать: «Я хочу, чтобы каждый p без класса находился между двумя h2?»
Thx много!
Если они все 'p.one_class', почему бы не искать эти теги' p' и удалить их перед выводом результата для сохранения? –
Но как я могу заказать h2 и p? С помощью этого сценария он печатает h2 p h2 p h2 p, но я хочу что-то вроде h2 p p h2 p –