双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

解析标签出错,速度帮忙看下。。

ChinaXtHuLang ChinaXtHuLang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
模板页里的标签:{$ArtList(10,50,11,"")}

我想通过先读取模板。然后解析模板里的上面的标签。最后生成静态页面
我的这个函数:
'========================================= 文章
Function ArtList(Num,TxT,FDate,ClassId)
Dim oSQL,oRs,outStr
outStr = ""
oSQL = "Select Top "&Num&" Article_id,Article_title,Article_date,Article_count from Article Where 1 =1 "
If ClassId <> "" Then
oSQL = oSQL &" And cat_id = "&ClassId&""
End If
oSQL = oSQL &" order by Article_id desc"
Set oRs = Conn.Execute(oSQL)
If (oRs.EOF And oRs.BOF) Then
outStr = outStr &"<li>当前还没有添加文章!</li>" & vbCrLf
Else
ArrArt = oRs.GetRows()
For i = 0 To Ubound(ArrArt,2)
outStr = outStr &"<li><span>"&FormatDate(ArrArt(2,i),FDate)&"</span><a title=""文章标题:"&ArrArt(1,i)&" 发布时间:"&formatdate(ArrArt(2,i),2)&" 浏览次数:"&ArrArt(3,i)&""" href=""Article/ShowArticle.asp?id="&ArrArt(0,i)&""" target=""_blank"">"&gotTopic(ArrArt(1,i),TxT)&"</a></li>" & vbCrLf
Next
End If
Set oRs = Nothing
ArtList = outStr
End Function


可以。但是遇到个问题,{$ArtList(10,50,11,"")}最后一项调的是分类。
为空就调用所有的。。
但是为空标签就解析错误。。。

下面是解析代码:
Function ReplaceLabel(strHtml)
Dim regEx, Match, Matches
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.MultiLine = True
regEx.Pattern = "\{\$ArtList\((.*?)\)\}"
Set Matches = regEx.Execute(strHtml)
For Each Match In Matches
arrTemp = Split(Match.SubMatches(0), ",")
If UBound(arrTemp) + 1 < 4 Then
strTemp = "函数式标签:{$ArtList(参数列表)}的参数个数不对。请检查模板中的此标签。"
Else
strTemp = ArtList(arrTemp(0), arrTemp(1), arrTemp(2), arrTemp(3))
End If
strHtml = Replace(strHtml, Match.value, strTemp)
Next
Set Matches = Nothing
ReplaceLabel = strHtml
End Function


哪里错误了。或者是该怎么搞???
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
ChinaXtHuLang
ASP 28,401 成员 356,940 内容