How to Split HTML String?

How to Split HTML String?

am 07.02.2007 04:47:02 von vunet.us

Hello,
I use XMLHTTP to get an HTML of another page. Then, I need to cut some
middle part of that HTML string but I have problems doing it (see note
in caps below). The error I have generated at response.write (because
it does not split) is:

Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 1]'
/get_item.asp, line 55

Dim objXmlHttp
Dim strHTML
Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10, False
objXmlHttp.send
strHTML = objXmlHttp.responseText
Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
HTMLArr = split(FullHTML,"") 'THIS DOES NOT
SPLIT
response.write HTMLArr(1)

dim PureHTML : PureHTML = FullHTML 'HTMLArr(1)

Please, suggest.

Re: How to Split HTML String?

am 07.02.2007 07:25:55 von McKirahan

wrote in message
news:1170820022.343594.22130@h3g2000cwc.googlegroups.com...
> Hello,
> I use XMLHTTP to get an HTML of another page. Then, I need to cut some
> middle part of that HTML string but I have problems doing it (see note
> in caps below). The error I have generated at response.write (because
> it does not split) is:
>
> Microsoft VBScript runtime error '800a0009'
> Subscript out of range: '[number: 1]'
> /get_item.asp, line 55
>
> Dim objXmlHttp
> Dim strHTML
> Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10, False
> objXmlHttp.send
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> HTMLArr = split(FullHTML,"") 'THIS DOES NOT
> SPLIT
> response.write HTMLArr(1)
>
> dim PureHTML : PureHTML = FullHTML 'HTMLArr(1)



Are you trying to split on a string?
Your example shows this:
""

The delimiter in Split() is only one character?

Syntax
Split(expression[, delimiter[, count[, compare]]])
expression -- Required.
delimiter -- Optional.
String character used to identify substring limits.
If omitted, the space character (" ") is assumed to be the
delimiter.

If not then post an example of the string that needs to be split
along with your Split() statement.

How the string is retrieved (as long as it exists) doesn't matter.

Re: How to Split HTML String?

am 07.02.2007 11:03:52 von exjxw.hannivoort

wrote on 07 feb 2007 in microsoft.public.inetserver.asp.general:

> Hello,
> I use XMLHTTP to get an HTML of another page. Then, I need to cut some
> middle part of that HTML string but I have problems doing it (see note
> in caps below). The error I have generated at response.write (because
> it does not split) is:
>
> Microsoft VBScript runtime error '800a0009'
> Subscript out of range: '[number: 1]'
> /get_item.asp, line 55
>
> Dim objXmlHttp
> Dim strHTML
> Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10, False
> objXmlHttp.send
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> HTMLArr = split(FullHTML,"")
> 'THIS DOES NOT SPLIT
> response.write HTMLArr(1)

It should work, test by trial and error:



I suspect the string FullHTML does not contain the search string.

Test by:

response.write HTMLArr(0) & "
"
response.write HTMLArr(1)

or by:





--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Re: How to Split HTML String?

am 07.02.2007 12:48:26 von Slim

wrote in message
news:1170820022.343594.22130@h3g2000cwc.googlegroups.com...
> Hello,
> I use XMLHTTP to get an HTML of another page. Then, I need to cut some
> middle part of that HTML string but I have problems doing it (see note
> in caps below). The error I have generated at response.write (because
> it does not split) is:
>
> Microsoft VBScript runtime error '800a0009'
> Subscript out of range: '[number: 1]'
> /get_item.asp, line 55
>
> Dim objXmlHttp
> Dim strHTML
> Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10, False
> objXmlHttp.send
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> HTMLArr = split(FullHTML,"") 'THIS DOES NOT
> SPLIT
> response.write HTMLArr(1)
>
> dim PureHTML : PureHTML = FullHTML 'HTMLArr(1)
>
> Please, suggest.
>

Evertjan is correct, it should work

try

for each thing in HTMLAr
response.write thing & "
"
next

thi should show you what your working with

Re: How to Split HTML String?

am 07.02.2007 16:11:37 von vunet.us

On Feb 7, 6:48 am, "ThatsIT.com.au" wrote:
> wrote in message
>
> news:1170820022.343594.22130@h3g2000cwc.googlegroups.com...
>
>
>
> > Hello,
> > I use XMLHTTP to get an HTML of another page. Then, I need to cut some
> > middle part of that HTML string but I have problems doing it (see note
> > in caps below). The error I have generated at response.write (because
> > it does not split) is:
>
> > Microsoft VBScript runtime error '800a0009'
> > Subscript out of range: '[number: 1]'
> > /get_item.asp, line 55
>
> > Dim objXmlHttp
> > Dim strHTML
> > Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> > objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10, False
> > objXmlHttp.send
> > strHTML = objXmlHttp.responseText
> > Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> > HTMLArr = split(FullHTML,"") 'THIS DOES NOT
> > SPLIT
> > response.write HTMLArr(1)
>
> > dim PureHTML : PureHTML = FullHTML 'HTMLArr(1)
>
> > Please, suggest.
>
> Evertjan is correct, it should work
>
> try
>
> for each thing in HTMLAr
> response.write thing & "
"
> next
>
> thi should show you what your working with
Dear experts!
If this will work:
dim a, b
a = "aaabbb"
b = split(a,"")
response.write b(0) '' aaa
response.write b(1) '' bbb

this won't:
Dim objXmlHttp
Dim strHTML
Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10,
False
objXmlHttp.send
strHTML = objXmlHttp.responseText
Dim a: a= Server.HTMLEncode(strHTML)
b = split(a,"") 'THIS DOES NOT WORK
response.write b(0) '' aaabbb
response.write b(1) '' error

It must be because of the data type or something I suspect? But
cStr(a) does not help too. Also, there is
in that code, for sure!
Thank you all.

Re: How to Split HTML String?

am 07.02.2007 16:53:33 von exjxw.hannivoort

wrote on 07 feb 2007 in microsoft.public.inetserver.asp.general:

> On Feb 7, 6:48 am, "ThatsIT.com.au" wrote:
>> wrote in message
[..]
>>
>> Evertjan is correct, it should work
>>
>> try
>>
>> for each thing in HTMLAr
>> response.write thing & "
"
>> next
>>
>> thi should show you what your working with
> Dear experts!
> If this will work:
> dim a, b
> a = "aaabbb"
> b = split(a,"")
> response.write b(0) '' aaa
> response.write b(1) '' bbb
>
> this won't:
> Dim objXmlHttp
> Dim strHTML
> Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> objXmlHttp.open "GET", "http://www.site.com/item.asp?id=10,
> False
> objXmlHttp.send
> strHTML = objXmlHttp.responseText
> Dim a: a= Server.HTMLEncode(strHTML)
> b = split(a,"") 'THIS DOES NOT WORK
> response.write b(0) '' aaabbb
> response.write b(1) '' error
>
> It must be because of the data type or something I suspect? But
> cStr(a) does not help too. Also, there is
> in that code, for sure!
> Thank you all.

You are wrong pointing at in the error line,
because the error text you quoted was:

>> Microsoft VBScript runtime error '800a0009'
>> Subscript out of range: '[number: 1]'
>> /get_item.asp, line 55

being about a nonexistent subscript,
it cannot have been the line with the split()
but it mut have been this line:

>> response.write HTMLArr(1)

Conclusion: the split() works OK,
but there is no HTMLArr(1),
so the split did not find the string searched for
and returned an array with only one member.

QED.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Re: How to Split HTML String?

am 07.02.2007 17:31:29 von reb01501

vunet.us@gmail.com wrote:
> On Feb 7, 6:48 am, "ThatsIT.com.au" wrote:
> Dim a: a= Server.HTMLEncode(strHTML)

Do this:
Response.Write a

run the page and view source. Do you see in
the source?

Or do you see something like this:
<!--item code separator-->

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.

Re: How to Split HTML String?

am 07.02.2007 18:52:21 von vunet.us

On Feb 7, 11:31 am, "Bob Barrows [MVP]"
wrote:
> vunet...@gmail.com wrote:
> > On Feb 7, 6:48 am, "ThatsIT.com.au" wrote:
> > Dim a: a= Server.HTMLEncode(strHTML)
>
> Do this:
> Response.Write a
>
> run the page and view source. Do you see in
> the source?
>
> Or do you see something like this:
> <!--item code separator-->
>
> --
> Microsoft MVP -- ASP/ASP.NET
> Please reply to the newsgroup. The email account listed in my From
> header is my spam trap, so I don't check it very often. You will get a
> quicker response by posting to the newsgroup.

when I do what you say:
HTMLArr = split(FullHTML,"")
I only get:
response.write HTMLArr(0)
and HTMLArr(0) does contain 2 lines of

Just copy and paste this code to ASP page to see it not working, if
you can, and let me know, if possible:
(not, this is a fake example)

Dim objXmlHttp
Dim strHTML
Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "GET", "http://devguru.com/technologies/
javascript/home.asp", False
objXmlHttp.send
strHTML = objXmlHttp.responseText
Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
HTMLArr = split(FullHTML,"")
response.write HTMLArr(1)


Thanks

Re: How to Split HTML String?

am 07.02.2007 19:26:24 von reb01501

vunet.us@gmail.com wrote:
>
> when I do what you say:
> HTMLArr = split(FullHTML,"")
> I only get:
> response.write HTMLArr(0)
> and HTMLArr(0) does contain 2 lines of

No no no
response.Write FullHTML. Run the page. View Source. Do you see "" or "<!--item code separator-->"?



>
> Just copy and paste this code to ASP page to see it not working, if
> you can, and let me know, if possible:
> (not, this is a fake example)
>
> Dim objXmlHttp
> Dim strHTML
> Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> objXmlHttp.open "GET", "http://devguru.com/technologies/
> javascript/home.asp", False
> objXmlHttp.send
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> HTMLArr = split(FullHTML,"")
> response.write HTMLArr(1)
>

OK, I guess I have to lead you by the hand. :-)
After using HTMLEncode, your string no longer contains "". It contains "<!-- Main Content Begins -->", a
fact which you can ascertain by writing the string to response, running
the page and viewing source. You either have to do this:

strHTML = objXmlHttp.responseText
Dim FullHTML : FullHTML = strHTML
HTMLArr = split(FullHTML,"")
response.write Server.HTMLEncode(HTMLArr(1))

or this:

strHTML = objXmlHttp.responseText
Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
HTMLArr = split(FullHTML,"<!-- Main Content Begins -->")
response.write HTMLArr(1)




--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.

Re: How to Split HTML String?

am 07.02.2007 20:23:09 von vunet.us

On Feb 7, 1:26 pm, "Bob Barrows [MVP]"
wrote:
> vunet...@gmail.com wrote:
>
> > when I do what you say:
> > HTMLArr = split(FullHTML,"")
> > I only get:
> > response.write HTMLArr(0)
> > and HTMLArr(0) does contain 2 lines of
>
> No no no
> response.Write FullHTML. Run the page. View Source. Do you see "" or "<!--item code separator-->"?
>
>
>
>
>
> > Just copy and paste this code to ASP page to see it not working, if
> > you can, and let me know, if possible:
> > (not, this is a fake example)
>
> > Dim objXmlHttp
> > Dim strHTML
> > Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> > objXmlHttp.open "GET", "http://devguru.com/technologies/
> > javascript/home.asp", False
> > objXmlHttp.send
> > strHTML = objXmlHttp.responseText
> > Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> > HTMLArr = split(FullHTML,"")
> > response.write HTMLArr(1)
>
> OK, I guess I have to lead you by the hand. :-)
> After using HTMLEncode, your string no longer contains "". It contains "<!-- Main Content Begins -->", a
> fact which you can ascertain by writing the string to response, running
> the page and viewing source. You either have to do this:
>
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = strHTML
> HTMLArr = split(FullHTML,"")
> response.write Server.HTMLEncode(HTMLArr(1))
>
> or this:
>
> strHTML = objXmlHttp.responseText
> Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> HTMLArr = split(FullHTML,"<!-- Main Content Begins -->")
> response.write HTMLArr(1)
>
> --
> Microsoft MVP -- ASP/ASP.NET
> Please reply to the newsgroup. The email account listed in my From
> header is my spam trap, so I don't check it very often. You will get a
> quicker response by posting to the newsgroup.

oh, I did not know that ")
> > > I only get:
> > > response.write HTMLArr(0)
> > > and HTMLArr(0) does contain 2 lines of
>
> > No no no
> > response.Write FullHTML. Run the page. View Source. Do you see "" or "<!--item code separator-->"?
>
> > > Just copy and paste this code to ASP page to see it not working, if
> > > you can, and let me know, if possible:
> > > (not, this is a fake example)
>
> > > Dim objXmlHttp
> > > Dim strHTML
> > > Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
> > > objXmlHttp.open "GET", "http://devguru.com/technologies/
> > > javascript/home.asp", False
> > > objXmlHttp.send
> > > strHTML = objXmlHttp.responseText
> > > Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> > > HTMLArr = split(FullHTML,"")
> > > response.write HTMLArr(1)
>
> > OK, I guess I have to lead you by the hand. :-)
> > After using HTMLEncode, your string no longer contains "". It contains "<!-- Main Content Begins -->", a
> > fact which you can ascertain by writing the string to response, running
> > the page and viewing source. You either have to do this:
>
> > strHTML = objXmlHttp.responseText
> > Dim FullHTML : FullHTML = strHTML
> > HTMLArr = split(FullHTML,"")
> > response.write Server.HTMLEncode(HTMLArr(1))
>
> > or this:
>
> > strHTML = objXmlHttp.responseText
> > Dim FullHTML : FullHTML = Server.HTMLEncode(strHTML)
> > HTMLArr = split(FullHTML,"<!-- Main Content Begins -->")
> > response.write HTMLArr(1)
>
> > --
> > Microsoft MVP -- ASP/ASP.NET
> > Please reply to the newsgroup. The email account listed in my From
> > header is my spam trap, so I don't check it very often. You will get a
> > quicker response by posting to the newsgroup.
>
> oh, I did not know that