Esta função serve para realizar o fechamento de tags HTML e UBB gerais. Já vi isso no pjblog, mas nunca foi usada. Função fecharUBB(strContent)
'************************************
'Fecha automaticamente o UBB
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp 'Declara o objeto re
re.IgnoreCase = True 'Definir se os caracteres diferenciam maiúsculas de minúsculas
re.Global = True 'Definir disponibilidade global
arrTags = Array(code, quote, list, color, align, font, size, b, i, u, html) 'Cria um array e armazena tags relacionadas que precisam ser verificadas para fechamento
For i = 0 To UBound(arrTags) 'Loop para detectar cada elemento no array
OpenPos = 0 'Inicializa o número de tags iniciais do rótulo atual
ClosePos = 0 'Inicializa o número de tags finais da tag atual
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/] 'Comece a julgar o número de tags de início e fim, respectivamente
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
OpenPosOpenPos = OpenPos + 1
Próximo
re.Pattern = /[/ + arrTags(i) + /]
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
ClosePosClosePos = ClosePos + 1
Próximo
For j = 1 To OpenPos - ClosePos 'Quando o número de tags inicial e final for inconsistente, feche a tag atual
strContentstrContent = strContent + [/ + arrTags(i) + ]
Próximo
Próximo
fecharUBB = strConteúdo
Definir re=Nada
Função final
código do programa
Função closeHTML(strContent)
'************************************
'Fecha HTML automaticamente
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Definir re = Novo RegExp
re.IgnoreCase = Verdadeiro
re.Global = Verdadeiro
arrTags = Array(p, div, span, tabela, ul, fonte, b, u, i, h1, h2, h3, h4, h5, h6)
Para i = 0 para UBound (arrTags)
OpenPos = 0
FecharPos = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
OpenPosOpenPos = OpenPos + 1
Próximo
re.Pattern = /</ + arrTags(i) + />
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
ClosePosClosePos = ClosePos + 1
Próximo
Para j = 1 Para OpenPos - ClosePos
strContentstrContent = strContent + </ + arrTags(i) + >
Próximo
Próximo
closeHTML = strConteúdo
Definir re=Nada
Função final
A seguir está o código de função do pjblog, mas não há comentários. Recomenda-se consultar os comentários acima para estudo e pesquisa.
Copie o código do código da seguinte forma:
'************************************
'Fecha automaticamente o UBB
'************************************
Função fecharUBB(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Definir re = Novo RegExp
re.IgnoreCase = Verdadeiro
re.Global = Verdadeiro
arrTags = Array(código, citação, lista, cor, alinhamento, fonte, tamanho, b, i, u, html)
Para i = 0 para UBound (arrTags)
OpenPos = 0
FecharPos = 0
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/]
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
OpenPos = OpenPos + 1
Próximo
re.Pattern = /[/ + arrTags(i) + /]
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
ClosePos = ClosePos + 1
Próximo
Para j = 1 Para OpenPos - ClosePos
strContent = strContent + [/ + arrTags(i) + ]
Próximo
Próximo
fecharUBB = strConteúdo
Função final
'************************************
'Fecha HTML automaticamente
'************************************
Função closeHTML(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Definir re = Novo RegExp
re.IgnoreCase = Verdadeiro
re.Global = Verdadeiro
arrTags = Array(p, div, span, tabela, ul, fonte, b, u, i, h1, h2, h3, h4, h5, h6)
Para i = 0 para UBound (arrTags)
OpenPos = 0
FecharPos = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
OpenPos = OpenPos + 1
Próximo
re.Pattern = /</ + arrTags(i) + />
Definir strMatchs = re.Execute(strContent)
Para cada partida em strMatchs
ClosePos = ClosePos + 1
Próximo
Para j = 1 Para OpenPos - ClosePos
strContent = strContent + </ + arrTags(i) + >
Próximo
Próximo
closeHTML = strConteúdo
Função final