تهدف هذه الوظيفة إلى إغلاق علامات HTML وUBB العامة التي رأيتها في pjblog من قبل، ولكن لم يتم استخدامها مطلقًا. وظيفة إغلاقUBB (strContent)
'***************************************
"إغلاق UBB تلقائيًا."
'***************************************
Dim arrTags، i، OpenPos، ClosePos، re، strMatchs، j، Match
Set re = New RegExp 'قم بتعريف كائن re
re.IgnoreCase = True 'تعيين ما إذا كانت الأحرف حساسة لحالة الأحرف
re.Global = True 'تعيين التوفر العالمي
arrTags = Array(code, quote, list, color, align, Font, size, b, i, u, html) 'إنشاء مصفوفة وتخزين العلامات ذات الصلة التي يجب التحقق من إغلاقها
For i = 0 To UBound(arrTags) 'حلقة لاكتشاف كل عنصر في المصفوفة
OpenPos = 0 'تهيئة عدد علامات البداية للتسمية الحالية
ClosePos = 0 'تهيئة عدد علامات النهاية للعلامة الحالية
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/] 'ابدأ في الحكم على عدد علامات البداية والنهاية على التوالي
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
OpenPosOpenPos = OpenPos + 1
التالي
إعادة النمط = /[/ + arrTags(i) + /]
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
كلوزبوسكلوزبوس = كلوسبوس + 1
التالي
من أجل j = 1 إلى OpenPos - ClosePos 'عندما يكون عدد علامات البداية والنهاية غير متناسق، أغلق العلامة الحالية
strContentstrContent = strContent + [/ + arrTags(i) + ]
التالي
التالي
CloseUBB = strContent
تعيين إعادة = لا شيء
وظيفة النهاية
رمز البرنامج
وظيفة إغلاقHTML(strContent)
'***************************************
'إغلاق HTML تلقائيًا
'***************************************
Dim arrTags، i، OpenPos، ClosePos، re، strMatchs، j، Match
تعيين إعادة = جديد RegExp
re.IgnoreCase = صحيح
re.Global = صحيح
arrTags = Array(p, div,span, table, ul, الخط, b, u, i, h1, h2, h3, h4, h5, h6)
لأني = 0 إلى UBound(arrTags)
نقاط البيع المفتوحة = 0
كلوسبوس = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
OpenPosOpenPos = OpenPos + 1
التالي
re.Pattern = /</ + arrTags(i) + />
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
كلوزبوسكلوزبوس = كلوسبوس + 1
التالي
لـ j = 1 إلى OpenPos - ClosePos
strContentstrContent = strContent + </ + arrTags(i) + >
التالي
التالي
CloseHTML = strContent
تعيين إعادة = لا شيء
وظيفة النهاية
فيما يلي رمز وظيفة pjblog، ولكن لا توجد تعليقات، يوصى بالرجوع إلى التعليقات المذكورة أعلاه للدراسة والبحث.
انسخ رمز الكود كما يلي:
'***************************************
"إغلاق UBB تلقائيًا."
'***************************************
وظيفة إغلاقUBB (strContent)
Dim arrTags، i، OpenPos، ClosePos، re، strMatchs، j، Match
تعيين إعادة = جديد RegExp
re.IgnoreCase = صحيح
re.Global = صحيح
arrTags = صفيف (رمز، اقتباس، قائمة، لون، محاذاة، خط، حجم، b، i، u، html)
لأني = 0 إلى UBound(arrTags)
نقاط البيع المفتوحة = 0
كلوسبوس = 0
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/]
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
نقاط البيع المفتوحة = نقاط البيع المفتوحة + 1
التالي
إعادة النمط = /[/ + arrTags(i) + /]
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
كلوسبوس = كلوسبوس + 1
التالي
لـ j = 1 إلى OpenPos - ClosePos
strContent = strContent + [/ + arrTags(i) + ]
التالي
التالي
CloseUBB = strContent
وظيفة النهاية
'***************************************
'إغلاق HTML تلقائيًا
'***************************************
وظيفة إغلاقHTML(strContent)
Dim arrTags، i، OpenPos، ClosePos، re، strMatchs، j، Match
تعيين إعادة = جديد RegExp
re.IgnoreCase = صحيح
re.Global = صحيح
arrTags = Array(p, div,span, table, ul, الخط, b, u, i, h1, h2, h3, h4, h5, h6)
لأني = 0 إلى UBound(arrTags)
نقاط البيع المفتوحة = 0
كلوسبوس = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
نقاط البيع المفتوحة = نقاط البيع المفتوحة + 1
التالي
re.Pattern = /</ + arrTags(i) + />
تعيين strMatchs = re.Execute(strContent)
لكل مباراة في strMatchs
كلوسبوس = كلوسبوس + 1
التالي
لـ j = 1 إلى OpenPos - ClosePos
strContent = strContent + </ + arrTags(i) + >
التالي
التالي
CloseHTML = strContent
وظيفة النهاية