Регулярное выражение чтобы вытащить текст из HTML кода страницы (без текста ссылок)

Рейтинг: 0Ответов: 1Опубликовано: 09.03.2023

Дано - любая рандомная страница сайта. С помощью парсинга извлекаю её полный HTML-код. Далее с помощью регулярного выражения нужно получить только текст страницы (без текстов ссылок). То есть регулярное выражение должно полностью очистить HTML оставив только текст (при этом текста ссылок в нем быть не должно). Подскажите, может кто уже сталкивался с такой регуляркой?

Ответы

▲ 0

Возможно вам поможет этот код. Сначала удаляем теги <a> с содержимым, потом удаляем открывающие и закрывающие теги без содержимого

let html = `
<html>
  <body>
  <p class="class">some <span>text</span></p>
  <a href="site.som">link text</a>
  <div>
    <h1>hdhdh</br>hdhd</h1>
  </div>
  <a>lol</a>
  </body>
</html>`

//delete links
const linkRe = /<a\s?[^\>]*>.*<\/a>/g
html = html.replace(linkRe, "")

//delete open tags
const openTagRe = /<\w+[^\>]*>/g
html = html.replace(openTagRe, "")

//delete close tags
const closeTagRe = /<\/[^\>]*>/g
html = html.replace(closeTagRe, "")

console.log(html)