主题:大家看看如何将下面的函数改为非递归!
Private Function ProcessTags(str)
Dim m,ms,tmp
Set ms = Rex.Execute(str)
For Each m In ms
tmp=dicVars.Item(m.SubMatches(0))
If Len(tmp)>0 Then
str=Replace(str, m.Value, tmp)
Else
str=Replace(str, m.Value, Escape(m.Value))
End If
str=ProcessTags(str) '递归·如何改为非递归来提高性能?
Next
ProcessTags=str
End Function
Dim m,ms,tmp
Set ms = Rex.Execute(str)
For Each m In ms
tmp=dicVars.Item(m.SubMatches(0))
If Len(tmp)>0 Then
str=Replace(str, m.Value, tmp)
Else
str=Replace(str, m.Value, Escape(m.Value))
End If
str=ProcessTags(str) '递归·如何改为非递归来提高性能?
Next
ProcessTags=str
End Function