'Какой то текст <id>Теги и текст которые нужно удалить</id>. Какой то текст'.replace(/(<([^>]+)>)/ig,'');
<([^\/>]+)>.*?<.*?\/.*?>
function removeTagsWithContent(str) {
let result = []
let inOpeningTag = false
let inClosingTag = false
let inContent = false;
str.split('').forEach((char, i) => {
if (!inOpeningTag && !inContent && char === '<') {
inOpeningTag = true
return
}
if (inOpeningTag && char === '>') {
inContent = true
inOpeningTag = false
return
}
if (inContent && char === '<') {
inContent = false
inClosingTag = true
return
}
if (inClosingTag && char === '>') {
inClosingTag = false
return
}
if (!inOpeningTag && !inContent && !inClosingTag) {
result.push(char)
}
})
return result.join('')
}