Я написал код в PHP для анализа данных, полученных по запросу API от "wikipedia.org". Я использовал класс DOMDocument для разбора данных, и он работал отлично. Теперь я хочу сделать ту же работу в JavaScript. Запрос API возвращает (после небольшой очистки) строку, подобную этой:
$htmlString = "<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
<ul>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>"
Обратите внимание, что это только пример. Любой запрос может иметь разное количество списков, но это всегда серия неупорядоченных списков. Мне нужно было получить текст внутри тегов <li>
, и следующий код PHP работал отлично.
$DOM = new DOMDocument;
$DOM->loadHTML($htmlString);
$lis = $DOM->getElementsByTagName('li');
$items =[];
for ($i = 0; $i < $lis->length; $i++) $items[] = $lis[$i]->nodeValue;
И я получаю массив [Item 1, ..., Item 5] внутри $items
переменной, как я хотел. Теперь я хочу сделать ту же работу в JavaScript. То есть у меня есть строка
htmlString = "<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>
<ul>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>"
в JavaScript, и я хочу получить текст внутри каждого из тегов <li>
. Я искал в Интернете эквивалентный класс PHP DOMDocument в JavaScript, и неожиданно ничего не нашел. Любые идеи, как это сделать в (предпочтительно Vanilla) JavaScript аналогично PHP код? Если нет, есть идеи, как это сделать в JavaScript (даже с регулярными выражениями)?