При использовании редактора вы столкнетесь с одним моментом, а именно с проблемой закрытия тегов. Эта проблема очень серьезна, поскольку может привести к повреждению общего стиля отображаемой веб-страницы. Недавно я увидел эту функцию в библиотеке функций PJ. Мне кажется, что идея немного неудачная, но она относительно идеальна. Это всего лишь вопрос порядка закрытия тега, ха-ха.
Измените содержимое каждого элемента массива arrTags, чтобы добиться функции закрытия любого тега.
Здесь я добавил несколько комментариев, чтобы всем было легче учиться вместе.
Скопируйте код кода следующим образом:
Функция closeUBB(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
ОткрытьПос = ОткрытьПос + 1
Следующий
re.Pattern = /[/ + arrTags(i) + /]
Установите strMatchs = re.Execute(strContent)
Для каждого совпадения в strMatchs
ЗакрытьПос = ЗакрытьПос + 1
Следующий
For j = 1 To OpenPos - ClosePos 'Если количество начальных и конечных тегов несовместимо, закройте текущий тег.
strContent = strContent + [/ + arrTags(i) + ]
Следующий
Следующий
closeUBB = стрКонтент
Установить re=Ничего
Конечная функция
Примечания к closehtml аналогичны приведенным выше.
Скопируйте код кода следующим образом:
Функция closehtml(strContent)
'************************************
'Автоматически закрывать html
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
Установить re = Новое регулярное выражение
re.IgnoreCase = Истина
re.Global = Истина
arrTags = Массив (p, DIV, диапазон, таблица, ul, шрифт, b, u, i, h1, h2, h3, h4, h5, h6)
Для i = 0 To 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 To OpenPos — ClosePos
strContent = strContent + </ + arrTags(i) + >
Следующий
Следующий
closehtml = стрКонтент
Установить re=Ничего
Конечная функция