Ciao Mexican,
grazie della replica... una volta se non erro lessi nel forum che qualcuno aveva risolto il problema ma non riesco a recuperare quella discussione. In rete, invece, ho trovato questa funzione utile proprio per questo scopo ma è un mostro che il mio cervello si rifiuta di assimilare
codice:
Function CloseOpenHTMLTags(sHTMLString)
sTagTypesToIgnore = "br,img,input,meta,link,hr,!--,!doctype"
If Instr(Right(sHTMLString,Len(sHTMLString) - InStrRev(sHTMLString,"<")),">") = 0 _
Then
sHTMLString = Left(sHTMLString,InStrRev(sHTMLString,"<")-1)
End IF
sHTMLStringOrig = sHTMLString
aHTMLTags = Split(sHTMLString,"<script")
sHTMLString = aHTMLTags(0)
For vA = 1 To UBound(aHTMLTags)
'WScript.Echo aHTMLTags(vA)
aNoScripts = Split(aHTMLTags(vA),"</script>")
If Ubound(aNoScripts) > 0 Then sHTMLString = sHTMLString & aNoScripts(1)
Next
ReDim aHTMLTags(0)
aHTMLTags = Split(sHTMLString,"<")
For vA = 0 To UBound(aHTMLTags)
If left(trim(sHTMLString),1) <> "<" And vA = 0 Then
Else
aIndividualHTMLTag = Split(aHTMLTags(vA))
If Len(aHTMLTags(vA)) > 0 Then
vTagFoundLoop = 0
TagFound = False
sClosingTag = ""
Do Until TagFound
If Len(aIndividualHTMLTag(vTagFoundLoop)) > 0 And _
aIndividualHTMLTag(vTagFoundLoop) <> "/" Then
aHTMLTags(vA) = sClosingTag & aIndividualHTMLTag(vTagFoundLoop)
aJustTag = Split(aIndividualHTMLTag(vTagFoundLoop),">")
aHTMLTags(vA) = trim(lcase(aJustTag(0)))
TagFound = True
Exit Do
ElseIf Len(aIndividualHTMLTag(vTagFoundLoop)) > 0 And _
aIndividualHTMLTag(vTagFoundLoop) = "/" Then
sClosingTag = "/"
End If
vTagFoundLoop = vTagFoundLoop + 1
Loop
End If
If Len(trim(aHTMLTags(vA))) > 0 And Len(trim(sHTMLTags)) > 0 Then _
sHTMLTags = sHTMLTags & "," & aHTMLTags(vA)
If Len(trim(aHTMLTags(vA))) > 0 And Len(trim(sHTMLTags)) = 0 Then _
sHTMLTags = aHTMLTags(vA)
End If
Next
aTagTypesToIgnore = Split(sTagTypesToIgnore,",")
For Each vTagToIgnore In aTagTypesToIgnore
sHTMLTags = Replace(sHTMLTags,vTagToIgnore & ",","")
sHTMLTags = Replace(sHTMLTags,vTagToIgnore,"")
Next
ReDim aHTMLTags(0)
aHTMLTags = Split(sHTMLTags,",")
For vA = 0 To UBound(aHTMLTags)
If InStr(aHTMLTags(vA), "/") = 0 And Len(aHTMLTags(vA)) > 0 Then
For vB = vA+1 To UBound(aHTMLTags)
If InStr(aHTMLTags(vB), "/") > 0 And _
InStr(aHTMLTags(vB), aHTMLTags(vA)) > 0 Then
aHTMLTags(vA) = ""
aHTMLTags(vB) = ""
Exit For
End If
Next
Else
aHTMLTags(vA) = ""
End If
If Len(Trim(aHTMLTags(vA))) > 0 And Len(sOpenHTMLTags) > 0 Then _
sOpenHTMLTags = sOpenHTMLTags & "," & aHTMLTags(vA)
If Len(Trim(aHTMLTags(vA))) > 0 And Len(sOpenHTMLTags) = 0 Then _
sOpenHTMLTags = aHTMLTags(vA)
Next
ReDim aHTMLTags(0)
aHTMLTags = Split(sOpenHTMLTags,",")
For vA = UBound(aHTMLTags) To 0 Step -1
sClosingTags = sClosingTags & "</" & aHTMLTags(vA) & ">"
Next
CloseOpenHTMLTags = sHTMLStringOrig & sClosingTags
End Function