Esta función es para cerrar etiquetas HTML y UBB generales. La he visto antes en pjblog, pero nunca se ha utilizado. Se recomienda consultar la función en pjblog. Función cerrarUBB(strContent)
'************************************
'Cerrar UBB automáticamente
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp 'Declarar el objeto re
re.IgnoreCase = True 'Establece si los caracteres distinguen entre mayúsculas y minúsculas
re.Global = True 'Establecer disponibilidad global
arrTags = Array(code, quote, list, color, align, font, size, b, i, u, html) 'Crea una matriz y almacena etiquetas relacionadas que deben verificarse para su cierre
For i = 0 To UBound(arrTags) 'Bucle para detectar cada elemento en la matriz
OpenPos = 0 'Inicializa el número de etiquetas de inicio de la etiqueta actual
ClosePos = 0 'Inicializa el número de etiquetas finales de la etiqueta actual
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/] 'Empiece a juzgar el número de etiquetas de inicio y fin respectivamente
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
OpenPosOpenPos = OpenPos + 1
Próximo
re.Patrón = /[/ + arrTags(i) + /]
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
CerrarPosCerrarPos = CerrarPos + 1
Próximo
Para j = 1 A OpenPos - ClosePos 'Cuando el número de etiquetas de inicio y fin es inconsistente, cierre la etiqueta actual
strContentstrContent = strContent + [/ + arrTags(i) + ]
Próximo
Próximo
closeUBB = strContenido
Establecer re=Nada
Función final
código de programa
Función closeHTML(strContent)
'************************************
'Cerrar HTML automáticamente
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Establecer re = Nueva expresión regular
re.IgnoreCase = Verdadero
re.Global = Verdadero
arrTags = Array(p, div, span, table, ul, font, b, u, i, h1, h2, h3, h4, h5, h6)
Para i = 0 a UBound(arrTags)
PosApertura = 0
PosCerrar = 0
re.Patrón = /< + arrTags(i) + ( [^/</>]+|)/>
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
OpenPosOpenPos = OpenPos + 1
Próximo
re.Pattern = /</ + arrTags(i) + />
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
CerrarPosCerrarPos = CerrarPos + 1
Próximo
Para j = 1 A OpenPos - ClosePos
strContentstrContent = strContent + </ + arrTags(i) + >
Próximo
Próximo
closeHTML = strContenido
Establecer re=Nada
Función final
El siguiente es el código de función de pjblog, pero no hay comentarios. Se recomienda consultar los comentarios anteriores para estudio e investigación.
Copie el código de código de la siguiente manera:
'************************************
'Cerrar UBB automáticamente
'************************************
Función cerrarUBB(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Establecer re = Nueva expresión regular
re.IgnoreCase = Verdadero
re.Global = Verdadero
arrTags = Matriz(código, cita, lista, color, alineación, fuente, tamaño, b, i, u, html)
Para i = 0 a UBound(arrTags)
PosApertura = 0
PosCerrar = 0
re.Patrón = /[ + arrTags(i) + (=[^/[/]]+|)/]
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
OpenPos = OpenPos + 1
Próximo
re.Patrón = /[/ + arrTags(i) + /]
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
PosCerrar = PosCerrar + 1
Próximo
Para j = 1 A OpenPos - ClosePos
strContenido = strContenido + [/ + arrTags(i) + ]
Próximo
Próximo
closeUBB = strContenido
Función final
'************************************
'Cerrar HTML automáticamente
'************************************
Función closeHTML(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Establecer re = Nueva expresión regular
re.IgnoreCase = Verdadero
re.Global = Verdadero
arrTags = Array(p, div, span, table, ul, font, b, u, i, h1, h2, h3, h4, h5, h6)
Para i = 0 a UBound(arrTags)
PosApertura = 0
PosCerrar = 0
re.Patrón = /< + arrTags(i) + ( [^/</>]+|)/>
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
OpenPos = OpenPos + 1
Próximo
re.Pattern = /</ + arrTags(i) + />
Establecer strMatchs = re.Execute(strContent)
Para cada partido en strMatchs
PosCerrar = PosCerrar + 1
Próximo
Para j = 1 A OpenPos - ClosePos
strContenido = strContenido + </ + arrTags(i) + >
Próximo
Próximo
closeHTML = strContenido
Función final