From 2a7316e5b823d06470b1bb00d5a980a7db26ab2b Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Wed, 15 Mar 2023 20:08:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/model/analyzeRule/AnalyzeUrl.kt | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt index c6c332e97..a3490353b 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt @@ -113,29 +113,27 @@ class AnalyzeUrl( */ private fun analyzeJs() { var start = 0 - var tmp: String val jsMatcher = JS_PATTERN.matcher(ruleUrl) - var hasRule = true + var result = ruleUrl while (jsMatcher.find()) { if (jsMatcher.start() > start) { - tmp = - ruleUrl.substring(start, jsMatcher.start()).trim { it <= ' ' } - if (tmp.isNotEmpty()) { - ruleUrl = tmp.replace("@result", ruleUrl) + ruleUrl.substring(start, jsMatcher.start()).trim().let { + if (it.isNotEmpty()) { + result = it.replace("@result", result) + } } } - ruleUrl = evalJS(jsMatcher.group(2) ?: jsMatcher.group(1), ruleUrl) as String + result = evalJS(jsMatcher.group(2) ?: jsMatcher.group(1), result) as String start = jsMatcher.end() - if (jsMatcher.group(0)!!.startsWith("@js:", true)) { - hasRule = false - } - } - if (ruleUrl.length > start && hasRule) { - tmp = ruleUrl.substring(start).trim { it <= ' ' } - if (tmp.isNotEmpty()) { - ruleUrl = tmp.replace("@result", ruleUrl) + } + if (ruleUrl.length > start) { + ruleUrl.substring(start).trim().let { + if (it.isNotEmpty()) { + result = it.replace("@result", result) + } } } + ruleUrl = result } /**