From 224acd68b19078a0c19c27e4df7082c9a597690f Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Fri, 23 Jan 2026 17:49:06 +0100 Subject: [PATCH] fix(sanitizer): add XHTML11 doc type to recognize nbsp entity, closes #3024 (#3043) --- apps/readest-app/src/services/transformers/sanitizer.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/readest-app/src/services/transformers/sanitizer.ts b/apps/readest-app/src/services/transformers/sanitizer.ts index 9498c044..5a4c9c1c 100644 --- a/apps/readest-app/src/services/transformers/sanitizer.ts +++ b/apps/readest-app/src/services/transformers/sanitizer.ts @@ -1,5 +1,10 @@ import DOMPurify from 'dompurify'; import type { Transformer } from './types'; +// import { diff } from '@/utils/diff'; + +const DOCTYPE_XHTML11 = ``; export const sanitizerTransformer: Transformer = { name: 'sanitizer', @@ -41,7 +46,7 @@ export const sanitizerTransformer: Transformer = { const serializer = new XMLSerializer(); let serialized = serializer.serializeToString(sanitized); serialized = serialized.replaceAll(' ', ' ').replaceAll('\u00A0', ' '); - serialized = '' + serialized; + serialized = '' + DOCTYPE_XHTML11 + serialized; serialized = serialized.replace(/(]*>)/i, '\n$1'); serialized = serialized.replace(/(<\/body>)(<\/html>)/i, '$1\n$2');