Удалить лишние элементы из html строки шаблона - PullRequest
1 голос
/ 03 февраля 2020

У меня есть шаблон html, и я хочу удалить из него лишние <p></p> через JS. PS У меня не может быть более одного пустого p.

Пример:

const htmlTemplate = `
  <p>Rich editor text</p>
  <p></p>
  <p></p> // <-- Remove these extra elements
  <p>1.2.3</p>
  <p>test432</p>
  <p></p>
  <p></p> // <--
  <p>lorem</p>
  <p></p>
  <p></p>  // <--
  <p></p>  // <--
  <p>ipsum dolor amet</p>
`

Результат:

const result = `
  <p>Rich editor text</p>
  <p></p>
  <p>1.2.3<br></p>
  <p>test432</p>
  <p></p>
  <p>lorem</p>
  <p></p>
  <p>ipsum dolor amet</p>
`

1 Ответ

3 голосов
/ 03 февраля 2020

Вы можете использовать регулярные выражения для поиска и удаления ненужных <p></p>. Вы можете использовать https://regex101.com/, чтобы получить информацию о регулярном выражении

const htmlTemplate = `
  <p>Rich editor text</p>
  <p></p>
  <p></p>
  <p>1.2.3</p>
  <p>test432</p>
  <p></p>
  <p></p>
  <p>lorem</p>
  <p></p>
  <p></p>
  <p></p> 
  <p>ipsum dolor amet</p>`;

const ret = htmlTemplate.replace(/<p><\/p>([.\s]*<p><\/p>)+/ig, '<p></p>');

console.log(ret);
...