function removeExtraSpace(input) { const pattern = /(?:<p><br><\/p>)+$|(<p> *<\/p>)+$/g; while(pattern.test(input.trimEnd()) == true){ input = input.trimEnd().split(pattern)[0] } return input; } console.log(removeExtraSpace("<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p><p> </p> "));Ejemplo de entrada:
"<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p><p> </p> "Rendimiento esperado:
"<p>test</p><p>test2</p>"
Devoluciones:
"<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p>"
Pero si agrego un registro de consola a mi ciclo, comienza a funcionar. ¿Qué estoy bastardizando aquí?
function removeExtraSpace(input) { const pattern = /(?:<p><br><\/p>)+$|(<p> *<\/p>)+$/g; while(pattern.test(input.trimEnd()) == true){ input = input.trimEnd().split(pattern)[0] console.log(pattern.test(input.trimEnd())) } return input } console.log(removeExtraSpace("<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p><p> </p> "));