export function stripHtml(html: string): string { // Decode entities first so encoded tags like <p> are also stripped let s = html .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, '"') .replace(/'/g, "'") .replace(/ /g, " "); // Block-level tags → newlines s = s .replace(//gi, "\n") .replace(/<\/p>/gi, "\n") .replace(/<\/div>/gi, "\n") .replace(/<\/li>/gi, "\n"); // Strip all remaining tags s = s.replace(/<[^>]+>/g, ""); return s.replace(/\n{3,}/g, "\n\n").trim(); }