Fix: fixed zalgo text + html formatting inside of the review message

This commit is contained in:
Moyasee
2025-10-03 15:52:40 +03:00
parent 899f68318f
commit a92563509b
4 changed files with 58 additions and 2 deletions

View File

@@ -0,0 +1,41 @@
function removeZalgoText(text: string): string {
const zalgoRegex = /[\u0300-\u036F\u1AB0-\u1AFF\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/g;
return text.replace(zalgoRegex, '');
}
export function sanitizeHtml(html: string): string {
if (!html || typeof html !== 'string') {
return '';
}
let cleanText = html.replace(/<[^>]*>/g, '');
const tempDiv = document.createElement('div');
tempDiv.innerHTML = cleanText;
cleanText = tempDiv.textContent || tempDiv.innerText || '';
cleanText = removeZalgoText(cleanText);
cleanText = cleanText.replace(/\s+/g, ' ').trim();
if (!cleanText || cleanText.length === 0) {
return '';
}
return cleanText;
}
export function stripHtml(html: string): string {
if (!html || typeof html !== 'string') {
return '';
}
const tempDiv = document.createElement('div');
tempDiv.innerHTML = html;
let cleanText = tempDiv.textContent || tempDiv.innerText || '';
cleanText = removeZalgoText(cleanText);
return cleanText;
}

View File

@@ -19,6 +19,7 @@ import { format } from "date-fns";
import { AchievementNotificationInfo } from "@types";
export * from "./constants";
export * from "./html-sanitizer";
export class UserNotLoggedInError extends Error {
constructor() {