JS - Удаление тегов при сохранении разрывов строк работает с объектом DOM, но не с HTML в переменной

0

Я пытаюсь создать функцию в javascript (или jQuery), которая примет переменную, заполненную html, и выведет текстовую версию. Функция должна разбить html-теги и вставить разрывы строк в конце тегов заголовка и абзаца.

Я много раз общался с кругами. Существует множество примеров того, как взять объект DOM, например document.body.innerHTML и удалить теги. Однако я использую переменную, заполненную html, и результаты не совпадают.

Это предполагаемое дублирующее решение: http://jsfiddle.net/8JSZX/. Однако создайте переменную html и используйте ее, и вы получите: http://jsfiddle.net/JjXXY/ - который не сохраняет разрывы строк.

Переменная html будет выглядеть примерно так:

var html = '<h1>This is a heading</h1><p>This is a paragraph</p><p>This is another paragraph</p>'

Если есть лучшее решение, я открыт для предложений!

Теги:
plaintext

1 ответ

0

Сделал это выстрелом:

var html_string = '<h1>Test</h1><p>A paragraph with a <a href="link">link</a></p>';
var regex = /<(\/?)[a-zA-Z0-9][^>]*>/g;
var stripped = html_string.replace(regex, '');
$("#result").html(stripped);

См.: http://jsfiddle.net/Y6q2j/5/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню