Удалить все теги, заменить
Есть строчка
<div id="texts">
<p id=ss>Текст</p>
<p>Текст.
Текст <span class=sv>fds</span>Текст.
Текст ТекстТекст Текст.<a data=link>link</a></p>
</div>
Как удалить все теги, но оставить их содержимое, а заместо тега
</p>
Вставить
/n
Ответы (2 шт):
Автор решения: eccs0103
→ Ссылка
Регулярное выражение <!?/?\w+(\s[\w-]+(=['"]?.*?['"]?)?)*/?> выберет все теги - будь то с аттрибутом или без. Осталось только поставить его в replace() и заменить На то что нужно.
Проверил у себя в VS Code:
Выделяется все кроме внутреннего текста.
Автор решения: EzioMercer
→ Ссылка
Алгоритм:
- Заменяем все
</p>на\n</p> - Берём всё текстовое содержимое
const texts = document.querySelector('#texts');
texts.innerHTML = texts.innerHTML.replaceAll('</p>', '\n</p>');
console.log('innerHTML:\n', texts.innerHTML);
console.log('textContent:\n', texts.textContent);
<div id="texts">
<p id=ss>Текст</p>
<p>Текст.
Текст <span class=sv>fds</span>Текст.
Текст ТекстТекст Текст.<a data=link>link</a></p>
</div>
