Update HtmlFormatter.kt

精简图片格式化程序,提供执行效率,改重复匹配为依次查找
pull/1059/head
bushixuanqi 4 years ago committed by GitHub
parent 8282386f62
commit 8d874e338f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      app/src/main/java/io/legado/app/utils/HtmlFormatter.kt

@ -24,25 +24,16 @@ object HtmlFormatter {
html ?: return "" html ?: return ""
var formatHtml = formatKeepImg(html) var formatHtml = formatKeepImg(html)
val sb = StringBuffer() val sb = StringBuffer()
var appendPos = 0 val matcher = AppPattern.imgPattern.matcher(formatHtml)
while (appendPos < formatHtml.length) { while (matcher.find()) {
val matcher = AppPattern.imgPattern.matcher(formatHtml) val urlArray = matcher.group(1)!!.split(AnalyzeUrl.splitUrlRegex)
if(matcher.find()) { var url = NetworkUtils.getAbsoluteURL(redirectUrl, urlArray[0])
val urlArray = matcher.group(1)!!.split(AnalyzeUrl.splitUrlRegex) if (urlArray.size > 1) {
var url = NetworkUtils.getAbsoluteURL(redirectUrl, urlArray[0]) url = "$url,${urlArray[1]}"
if (urlArray.size > 1) {
url = "$url,${urlArray[1]}"
}
sb.append(formatHtml.substring(appendPos, matcher.start()))
sb.append("<img src=\"$url\" >")
appendPos = matcher.end()
formatHtml = formatHtml.substring(appendPos, formatHtml.length)
appendPos = 0
} else {
sb.append(formatHtml)
appendPos = formatHtml.length
} }
matcher.appendReplacement(sb, "<img src=\"$url\" >")
} }
matcher.appendTail(sb)
return sb.toString() return sb.toString()
} }

Loading…
Cancel
Save