/
evernotenkai
/
DataBaseXJavaProject
Обзор
Документация
Войти
/
evernotenkai
/
DataBaseXJavaProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/app/util/HtmlUtil.java
56 строк
2 KB
Makson4ik
Весь проект с src db и прочим делом
12 май 2026, 22:43
12 май 2026, 22:43
431f4aa
Код
Авторство
О чём код?
package app.util; public final class HtmlUtil { private HtmlUtil() {} public static String escape(String text) { if (text == null) return ""; return text.replace("&", "&") .replace("<", "<") .replace(">", ">") .replace("\"", """) .replace("'", "'"); } public static boolean isBlankHtml(String html) { if (html == null) { return true; } String plain = html .replaceAll("(?is)<script.*?>.*?</script>", " ") .replaceAll("(?is)<style.*?>.*?</style>", " ") .replaceAll("(?s)<[^>]+>", " ") .replace(" ", " ") .replace("\u00a0", " ") .trim(); return plain.isEmpty(); } public static String wrapHtml(String content) { if (content == null || content.trim().isEmpty()) { return "<html><body><div style=\"font-family:Segoe UI,Arial,sans-serif;color:#64748b;\">Пустой текст</div></body></html>"; } String trimmed = content.trim(); if (trimmed.startsWith("<html") || trimmed.startsWith("<!DOCTYPE") || trimmed.contains("<body")) { return content; } return "<html><body style=\"font-family:Segoe UI,Arial,sans-serif;color:#0f172a;line-height:1.5;\">" + escape(content).replace("\n", "<br/>") + "</body></html>"; } public static String plainText(String html) { if (html == null) return ""; String text = html.replaceAll("(?is)<script.*?>.*?</script>", " ") .replaceAll("(?is)<style.*?>.*?</style>", " ") .replaceAll("(?s)<[^>]+>", " ") .replace(" ", " ") .replace("\u00a0", " ") .replace("<", "<") .replace(">", ">") .replace("&", "&") .replace(""", "\"") .replace("'", "'"); return text.replaceAll("\\s+", " ").trim(); } }