이 기능은 일반적인 HTML과 UBB 태그의 닫기를 구현하기 위한 것입니다. 이전에 pjblog에서 본 적이 있지만 이 기능은 pjblog에서 참조하는 것이 좋습니다. 함수 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의 각 일치 항목에 대해
오픈포스OpenPos = 오픈포스 + 1
다음
re.Pattern = /[/ + arrTags(i) + /]
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
ClosePosClosePos = 닫기Pos + 1
다음
For j = 1 To OpenPos - ClosePos '시작 태그와 끝 태그의 개수가 일치하지 않으면 현재 태그를 닫습니다.
strContentstrContent = strContent + [/ + arrTags(i) + ]
다음
다음
closeUBB = strContent
다시=아무것도 설정하지 않음
기능 종료
프로그램 코드
함수 closeHTML(strContent)
'************************************
'HTML을 자동으로 닫습니다.
'************************************
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
re = New RegExp로 설정
re.IgnoreCase = 참
re.Global = 참
arrTags = 배열(p, div, 범위, 테이블, ul, 글꼴, b, u, i, h1, h2, h3, h4, h5, h6)
i = 0의 경우 UBound(arrTags)로
오픈포스 = 0
닫기 위치 = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
오픈포스OpenPos = 오픈포스 + 1
다음
re.Pattern = /</ + arrTags(i) + />
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
ClosePosClosePos = 닫기Pos + 1
다음
j = 1의 경우 OpenPos로 - ClosePos
strContentstrContent = strContent + </ + arrTags(i) + >
다음
다음
closeHTML = strContent
다시=아무것도 설정하지 않음
기능 종료
다음은 pjblog의 함수 코드인데, 댓글이 없습니다. 위의 댓글을 참고하여 연구 및 연구하시기를 권장합니다.
다음과 같이 코드 코드를 복사합니다.
'************************************
'UBB를 자동으로 닫습니다.
'************************************
함수 closeUBB(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
re = New RegExp로 설정
re.IgnoreCase = 참
re.Global = 참
arrTags = 배열(코드, 인용문, 목록, 색상, 정렬, 글꼴, 크기, b, i, u, html)
i = 0의 경우 UBound(arrTags)로
오픈포스 = 0
닫기 위치 = 0
re.Pattern = /[ + arrTags(i) + (=[^/[/]]+|)/]
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
오픈포스 = 오픈포스 + 1
다음
re.Pattern = /[/ + arrTags(i) + /]
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
닫기Pos = 닫기Pos + 1
다음
j = 1의 경우 OpenPos로 - ClosePos
strContent = strContent + [/ + arrTags(i) + ]
다음
다음
closeUBB = strContent
기능 종료
'************************************
'HTML을 자동으로 닫습니다.
'************************************
함수 closeHTML(strContent)
Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match
re = New RegExp로 설정
re.IgnoreCase = 참
re.Global = 참
arrTags = 배열(p, div, 범위, 테이블, ul, 글꼴, b, u, i, h1, h2, h3, h4, h5, h6)
i = 0의 경우 UBound(arrTags)로
오픈포스 = 0
닫기 위치 = 0
re.Pattern = /< + arrTags(i) + ( [^/</>]+|)/>
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
오픈포스 = 오픈포스 + 1
다음
re.Pattern = /</ + arrTags(i) + />
strMatchs = re.Execute(strContent) 설정
strMatchs의 각 일치 항목에 대해
닫기Pos = 닫기Pos + 1
다음
j = 1의 경우 OpenPos로 - ClosePos
strContent = strContent + </ + arrTags(i) + >
다음
다음
closeHTML = strContent
기능 종료