Регулярное выражение чтобы вытащить текст из HTML кода страницы (без текста ссылок)
Дано - любая рандомная страница сайта. С помощью парсинга извлекаю её полный HTML-код. Далее с помощью регулярного выражения нужно получить только текст страницы (без текстов ссылок). То есть регулярное выражение должно полностью очистить HTML оставив только текст (при этом текста ссылок в нем быть не должно). Подскажите, может кто уже сталкивался с такой регуляркой?
Ответы (1 шт):
Автор решения: ReDHooK
→ Ссылка
Возможно вам поможет этот код. Сначала удаляем теги <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)