Вы можете проверить, есть ли два или более вхождений <p><br></p>
, за которым следует новая строка, и если да, то вы замените его на один, например, так:
const markup = `
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>ff</p>
<p><br></p>
`;
const result = markup.replace(/(<p><br><\/p>\n){2,}/g, '<p><br><\/p>\n');
console.log(result);
Вы можете даже до:
const markup = `
<p>fffff ffff fff</p>
<p>fff</p>
<p><br></p>
<p><br></p>
<p>fffffff</p>
<p><br></p>
<p><br></p>
<p><br></p>
<p>ff</p>
<p><br></p>
`;
const target = '<p><br><\/p>\n';
const result = markup.replace(new RegExp(`(${target}){2,}`, 'g'), target);
console.log(result);
Таким образом, вы можете легко изменить элемент в будущем.