Lors de l'utilisation de l'éditeur, vous rencontrerez un point, à savoir le problème de fermeture des balises. Ce problème est très grave car il peut endommager le style général de la page Web à afficher. J'ai récemment vu cette fonction dans la bibliothèque de fonctions de PJ. Je pense que l'idée est un peu mauvaise, mais elle est relativement parfaite. C'est juste une question d'ordre lors de la fermeture de la balise, haha.
Modifiez le contenu de chaque élément du tableau arrTags pour obtenir la fonction de fermeture de n'importe quelle balise.
Ici, j'ai ajouté quelques commentaires pour permettre à tout le monde d'étudier ensemble.
Copiez le code comme suit :
Fonction closeUBB(strContent)
'************************************
'Fermer automatiquement l'UBB
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp 'Déclarez l'objet re
re.IgnoreCase = True 'Définit si les caractères sont sensibles à la casse
re.Global = True 'Définir la disponibilité globale
arrTags = Array(code, quote, list, color, align, font, size, b, i, u, html) 'Créer un tableau et stocker les balises associées dont la fermeture doit être vérifiée
For i = 0 To UBound(arrTags) 'Boucle pour détecter chaque élément du tableau
OpenPos = 0 'Initialiser le nombre de balises de début du label actuel
ClosePos = 0 'Initialiser le nombre de balises de fin de la balise actuelle
re.Pattern = /?[ + arrTags(i) + (=[^/[/]]+|)/] 'Commencez à juger respectivement le nombre de balises de début et de fin
Définir strMatchs = re.Execute(strContent)
Pour chaque correspondance dans strMatchs
OuvertPos = OuvertPos + 1
Suivant
re.Pattern = /[/ + arrTags(i) + /]
Définir strMatchs = re.Execute(strContent)
Pour chaque correspondance dans strMatchs
FermePos = FermePos + 1
Suivant
Pour j = 1 To OpenPos - ClosePos 'Lorsque le nombre de balises de début et de fin est incohérent, fermez la balise actuelle
strContent = strContent + [/ + arrTags(i) + ]
Suivant
Suivant
fermerUBB = strContent
Définir re=Rien
Fonction de fin
Les notes sur closehtml sont les mêmes que ci-dessus
Copiez le code comme suit :
Fonction closehtml(strContent)
'************************************
'Fermer automatiquement le HTML
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Définir re = Nouvelle RegExp
re.IgnoreCase = Vrai
re.Global = Vrai
arrTags = Tableau (p, DIV, span, table, ul, police, b, u, i, h1, h2, h3, h4, h5, h6)
Pour i = 0 Vers UBound (arrTags)
Pos Ouvert = 0
FermePos = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
Définir strMatchs = re.Execute(strContent)
Pour chaque correspondance dans strMatchs
OuvertPos = OuvertPos + 1
Suivant
re.Pattern = /</ + arrTags(i) + />
Définir strMatchs = re.Execute(strContent)
Pour chaque correspondance dans strMatchs
FermePos = FermePos + 1
Suivant
Pour j = 1 Vers OpenPos - ClosePos
strContent = strContent + </ + arrTags(i) + >
Suivant
Suivant
closehtml = strContent
Définir re=Rien
Fonction de fin