У меня есть эта структура HTML;и мне нужно удалить все после
<span class="Title_Blue">
или, по крайней мере, положить блок внутри div.(Тогда я могу манипулировать им.)
Есть ли в любом случае, я могу сделать это с помощью xpath?
Я могу легко поместить тег в div, но проблема в том, что код, который я хочуохватить div - это все на одном уровне.
Спасибо !!
<body>
<div class="article_text">
<div id="text">
<p class="paragraph">
<strong> [text] </strong>
</p>
<div>
<strong> [text] </strong>
</div>
<strong>
<br> [Title] <br>
</strong>
<div style="text-align: justify;">
<br> [text]
</div>
<div style="text-align: justify;">
<br> [text]
</div>
<span class="Title_Blue"> [text] </span>
<br>
<p> ... </p>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<span class="Title_Blue"> [text] </span>
<br>
<p> ... </p>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<span class="Title_Blue"> [text] </span>
<br>
<p> ... </p>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
<div style="text-align: justify;"> [text] </div>
</div>
</div>
</body>
EDITED
Я пробовал это:
$html = $data
$doc = new DOMDocument();
@$doc->loadHTML('<?xml encoding="UTF-8">' . $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXpath($doc);
$contents = $xpath->query('//*[@class="Title_Blue"]');
foreach ($contents as $content) {
$div = $doc->createElement('div');
$div->setAttribute('class', 'DELETE_ME');
$content->parentNode->replaceChild($div, $content);
$div->appendChild($content);
}
РЕДАКТИРОВАНИЕ 2
удалось решить с помощью этого кода:
$html = $data
$doc = new DOMDocument();
@$doc->loadHTML('<?xml encoding="UTF-8">' . $html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXpath($doc);
$contents = $xpath->query('//*[@class="Title_Blue"] | //*[@class="Title_Blue"]/following-sibling::*');
foreach ($contents as $content) {
$content->parentNode->removeChild($content);
}
Благодаря Andersson!