Удалить теги HTML и форматирование текста - PullRequest
0 голосов
/ 15 мая 2018

Я хотел бы удалить теги HTML между текстом и заменить новую строку на пробел.Я использую этот шаблон ниже, но это не идеально.Это добавляет два или больше пробела между текстом.Как исправить этот шаблон?

replace(/(&nbsp;|<([^>]+)>)/ig, ' ');

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Вот как я сделаю то, что вы хотите:
(см. Комментарии в моем фрагменте)

// Input data
var input_data = `My<div><br>
<span></span>
<span></span>
</div><p>Content</p>`;
console.log("Input:", input_data);

// Creates html element with Input data
var elm = document.createElement('div');
elm.innerHTML = input_data;

// Use native function '.innerText' to get rid of the html,
// then replace new lines by spaces, and multiple spaces by only one space
output_data = elm.innerText.replace(/\n/g, ' ').replace(/[\s]+/g, ' ');
console.log("Output:", output_data);

Надеюсь, это поможет!

0 голосов
/ 15 мая 2018

попробуйте ниже код и проверьте

replace(/(<([^>]+)>)/ig,"");

UPDATE

Вы можете сделать это так,

var html = 'Example: &nbsp;<h1></h1><p></p><div>&nbsp;</div><div>CONTENT</div>&nbsp;';
html = html.replace(/\s|\n|&nbsp;/g, ' ');
html = html.replace(/<[^>]+>/gm, '');

Вывод будет таким,

Example:   CONTENT 

Поиграйте над решением, и у вас все получится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...