Question : vb6 - extract words

hello there,
I am using this little code bellow to extract some words from an html file but
im getting an error maybe because the file has about 100 lines of html code..

then this line becomes yellow
foundstr = Str1.Substring(s3, s2 - s3)

Length cannot be less than zero.
Parameter name: length
Code Snippet:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Function GetStringBetween(ByVal Str1 As String, ByVal str2 As String, ByVal str3 As String) As String
        'textbox.Text = GetStringBetween(sData, "first", "last")
        Dim s1, s2, s3 As Long, foundstr As String
        foundstr = String.Empty
        s1 = Str1.IndexOf(str2)
        s2 = Str1.IndexOf(str3)
        If (s1 = -1 Or s2 = -1) Then
            Return "" 'Not Found!
        End If
        If (s2 <> 0) Then
            s3 = s1 + str2.Length
            foundstr = Str1.Substring(s3, s2 - s3)
        Else
            Return "" 'Not Found!
        End If
        Return foundstr
    End Function

Answer : vb6 - extract words

It doesn't work because "one" is present in this line: