From e293a68dfbe169a8e1a1de6c3d1b8113d1a30687 Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Fri, 3 Feb 2023 19:27:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(epubFile):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=89=B9=E5=AE=9A=E6=83=85=E5=86=B5=E4=B8=8B=E7=AB=A0=E8=8A=82?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=88=86=E5=89=B2=E9=94=99=E8=AF=AF=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit

标题1

...

标题2

... closes #2755 --- .../io/legado/app/model/localBook/EpubFile.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt index 2e0ef3b01..2d7dfc103 100644 --- a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt +++ b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt @@ -190,17 +190,24 @@ class EpubFile(var book: Book) { } private fun getBody(res: Resource, startFragmentId: String?, endFragmentId: String?): Element { - val doc = Jsoup.parse(String(res.data, mCharset)) - val body = doc.body() + val originHtml = String(res.data, mCharset) + var html = originHtml + var doc = Jsoup.parse(html) + var body = doc.body() if (!startFragmentId.isNullOrBlank()) { - body.getElementById(startFragmentId)?.previousElementSiblings()?.remove() + body.getElementById(startFragmentId)?.outerHtml()?.let { + html = html.substringAfter(it) + } } if (!endFragmentId.isNullOrBlank() && endFragmentId != startFragmentId) { - body.getElementById(endFragmentId)?.run { - nextElementSiblings().remove() - remove() + body.getElementById(endFragmentId)?.outerHtml()?.let { + html = html.substringBefore(it) } } + if (html == originHtml) { + doc = Jsoup.parse(html) + body = doc.body() + } /*选择去除正文中的H标签,部分书籍标题与阅读标题重复待优化*/ val tag = Book.hTag if (book.getDelTag(tag)) { From 72958628aafe3703bc8d0a1046149a5cf38b0468 Mon Sep 17 00:00:00 2001 From: Xwite <82232510+Xwite@users.noreply.github.com> Date: Fri, 3 Feb 2023 19:30:50 +0800 Subject: [PATCH 2/2] Update EpubFile.kt --- app/src/main/java/io/legado/app/model/localBook/EpubFile.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt index 2d7dfc103..ae6108c53 100644 --- a/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt +++ b/app/src/main/java/io/legado/app/model/localBook/EpubFile.kt @@ -204,7 +204,7 @@ class EpubFile(var book: Book) { html = html.substringBefore(it) } } - if (html == originHtml) { + if (html != originHtml) { doc = Jsoup.parse(html) body = doc.body() }