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> "));
Input example:
"<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p><p> </p> "
Expected output:
"<p>test</p><p>test2</p>"
Returns:
"<p>test</p><p>test2</p><p><br></p><p><br></p><p></p><p> </p>"
But if I add a console log to my loop, it starts to work. What am I bastardizing here?
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> "));