修复优化img图片格式化规则 (#5206)

* 更新 AppPattern.kt

img src图片链接支持单引号'

* 更新 AppPattern.kt

img图片链接支持data-src属性

* 更新 AppPattern.kt

img 图片链接支持其它data-.+属性

* 更新 HtmlFormatter.kt

修复优化html img格式化规则,支持单引号',修正src属性优先级

* 更新 HtmlFormatter.kt

优化html img格式化规则,data-src|src优先取值非空

* 更新 AppPattern.kt

优化还原

* 更新 HtmlFormatter.kt

优化src标签优先级

* 更新 HtmlFormatter.kt

优化

* 更新 HtmlFormatter.kt

还原
This commit is contained in:
youke2580
2025-06-26 21:06:42 +08:00
committed by GitHub
parent 001c56ca32
commit 8503854cab
2 changed files with 2 additions and 2 deletions
@@ -9,7 +9,7 @@ object AppPattern {
val EXP_PATTERN: Pattern = Pattern.compile("\\{\\{([\\w\\W]*?)\\}\\}")
//匹配格式化后的图片格式
val imgPattern: Pattern = Pattern.compile("<img[^>]*src=\"([^\"]*(?:\"[^>]+\\})?)\"[^>]*>")
val imgPattern: Pattern = Pattern.compile("<img[^>]*src=['\"]([^'\"]*(?:['\"][^>]+\\})?)['\"][^>]*>")
//dataURL图片类型
val dataUriRegex = Regex("^data:.*?;base64,(.*)")
@@ -14,7 +14,7 @@ object HtmlFormatter {
private val notImgHtmlRegex = "</?(?!img)[a-zA-Z]+(?=[ >])[^<>]*>".toRegex()
private val otherHtmlRegex = "</?[a-zA-Z]+(?=[ >])[^<>]*>".toRegex()
private val formatImagePattern = Pattern.compile(
"<img[^>]*\\ssrc\\s*=\\s*\"([^\"{>]*\\{(?:[^{}]|\\{[^}>]+\\})+\\})\"[^>]*>|<img[^>]*\\sdata-[^=>]*=\\s*\"([^\">]*)\"[^>]*>|<img[^>]*\\ssrc\\s*=\\s*\"([^\">]*)\"[^>]*>",
"<img[^>]*\\ssrc\\s*=\\s*['\"]([^'\"{>]*\\{(?:[^{}]|\\{[^}>]+\\})+\\})['\"][^>]*>|<img[^>]*\\s(?:data-src|src)\\s*=\\s*['\"]([^'\">]+)['\"][^>]*>|<img[^>]*\\sdata-[^=>]*=\\s*['\"]([^'\">]*)['\"][^>]*>",
Pattern.CASE_INSENSITIVE
)
private val indent1Regex = "\\s*\\n+\\s*".toRegex()