From f2f3fa354f011033c5e2a38b79ff92e272298784 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 17 Jan 2024 15:17:04 +0800 Subject: [PATCH] Update regular expressions in data.go and parser.go --- sui/core/data.go | 5 +++-- sui/core/parser.go | 9 +++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sui/core/data.go b/sui/core/data.go index a2f9bcb0..ed01e89f 100644 --- a/sui/core/data.go +++ b/sui/core/data.go @@ -11,8 +11,9 @@ import ( "github.com/yaoapp/kun/log" ) -var stmtRe = regexp.MustCompile(`\{\{([^}]+)\}\}`) -var propRe = regexp.MustCompile(`\[\{([^}]+)\}\]`) +// If set the map value, should keep the space at the end of the statement +var stmtRe = regexp.MustCompile(`\{\{(.*?)\}\}`) +var propRe = regexp.MustCompile(`\[\{(.*?)\}\]`) // Data data for the template type Data map[string]interface{} diff --git a/sui/core/parser.go b/sui/core/parser.go index fb1b1ecb..e75ed1d1 100644 --- a/sui/core/parser.go +++ b/sui/core/parser.go @@ -331,6 +331,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { } if res == true { + parser.removeParsed(sel) + parser.parseElementAttrs(sel) + parser.parsed(sel) parser.show(sel) return } @@ -345,6 +348,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { } if res == true { + parser.removeParsed(elifNode) + parser.parseElementAttrs(elifNode) + parser.parsed(elifNode) parser.show(elifNode) return } @@ -352,6 +358,9 @@ func (parser *TemplateParser) ifStatementNode(sel *goquery.Selection) { // else if elseNode != nil { + parser.removeParsed(elseNode) + parser.parseElementAttrs(elseNode) + parser.parsed(elseNode) parser.show(elseNode) } }