Saat menggunakan editor, Anda akan menemui satu hal, yaitu masalah penutupan tag. Masalah ini sangat serius karena dapat menyebabkan keseluruhan gaya tampilan halaman web rusak. Baru-baru ini saya melihat fungsi ini di perpustakaan fungsi PJ. Saya merasa idenya agak buruk, tapi relatif sempurna.
Ubah konten setiap elemen dalam array arrTags untuk mencapai fungsi menutup tag apa pun.
Di sini, saya telah menambahkan beberapa komentar untuk memudahkan semua orang belajar bersama.
Copy kode kodenya sebagai berikut:
Fungsi closeUBB(strContent)
'***************************************
'Tutup UBB secara otomatis
'***************************************
Redupkan arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Set re = New RegExp 'Deklarasikan objek re
re.IgnoreCase = True 'Setel apakah karakter peka huruf besar-kecil
re.Global = True 'Setel ketersediaan global
arrTags = Array(code, quote, list, color, align, font, size, b, i, u, html) 'Buat array dan simpan tag terkait yang perlu diperiksa penutupannya
For i = 0 To UBound(arrTags) 'Loop untuk mendeteksi setiap elemen dalam array
OpenPos = 0 'Inisialisasi jumlah tag awal dari label saat ini
ClosePos = 0 'Inisialisasi jumlah tag akhir dari tag saat ini
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/] 'Mulai menilai jumlah tag awal dan akhir masing-masing
Setel strMatchs = re.Execute(strContent)
Untuk Setiap Pertandingan di strMatchs
OpenPos = OpenPos + 1
Berikutnya
re.Pola = /[/ + arrTags(i) + /]
Setel strMatchs = re.Execute(strContent)
Untuk Setiap Pertandingan di strMatchs
ClosePos = ClosePos + 1
Berikutnya
For j = 1 Ke OpenPos - ClosePos 'Bila jumlah tag awal dan akhir tidak konsisten, tutup tag saat ini
strKonten = strKonten + [/ + arrTags(i) + ]
Berikutnya
Berikutnya
closeUBB = strKonten
Setel ulang=Tidak Ada
Fungsi Akhir
Catatan pada closehtml sama dengan di atas
Copy kode kodenya sebagai berikut:
Fungsi closehtml(strKonten)
'***************************************
'Tutup html secara otomatis
'***************************************
Redupkan arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Setel re = RegExp Baru
re.IgnoreCase = Benar
re.Global = Benar
arrTags = Array(p, DIV, span, tabel, ul, font, b, u, i, h1, h2, h3, h4, h5, h6)
Untuk i = 0 Ke UBound(arrTags)
OpenPos = 0
TutupPos = 0
re.Pola = /< + arrTags(i) + ( [^/</>]+|)/>
Setel strMatchs = re.Execute(strContent)
Untuk Setiap Pertandingan di strMatchs
OpenPos = OpenPos + 1
Berikutnya
re.Pattern = /</ + arrTags(i) + />
Setel strMatchs = re.Execute(strContent)
Untuk Setiap Pertandingan di strMatchs
ClosePos = ClosePos + 1
Berikutnya
Untuk j = 1 Ke OpenPos - ClosePos
strKonten = strKonten + </ + arrTags(i) + >
Berikutnya
Berikutnya
closehtml = strKonten
Setel ulang=Tidak Ada
Fungsi Akhir