У меня ОГРОМНЫЙ HTML-документ, который мне нужно проанализировать.
Документ представляет собой список <p>
элементов всех (прямых) дочерних элементов тега body.
Разница заключается в названии класса. Структура выглядит так:
<p class="first-level"></p>
<p class="second-level"></p>
<p class="third-level"></p>
<p class="third-level"></p>
<p class="nth-levels just-for-demo-1"></p>
<p class="nth-levels just-for-demo-1"></p>
<p class="third-level"></p>
<p class="second-level"></p>
<p class="third-level"></p>
<p class="nth-levels just-for-demo-2"></p>
<p class="first-level"></p>
<p class="second-level"></p>
<p class="second-level"></p>
<p class="third-level"></p>
И так далее. n-й уровень может быть любым именем класса, которое не является first-level
, second-level
или third-level
.
По сути, это многоуровневый элемент <ul>
с очень плохой разметкой.
Я хочу проанализировать его и получить все элементы <p>
(включая тег, а не только innerHTML), которые находятся между одним из названий классов выше.
В приведенном выше примере я хочу получить:
<p class="nth-levels just-for-demo-1"></p>
<p class="nth-levels just-for-demo-1"></p>
и
<p class="nth-levels just-for-demo-2"></p>
Как, черт возьми, я могу это сделать, пожалуйста?
Спасибо.