Problem mit Array und Schleife

  • Hey Leute ich wende mich mal wieder an euch weil ich einfach nicht weiter komme,
    ich geb euch mal einen auszug aus dem code ( der komplette wäre etwas zu viel sind schon knapp 2000 zeilen ^^ )

    Spoiler anzeigen
    [autoit]


    Global $source[12]
    Global $labelsarray[1]

    [/autoit] [autoit][/autoit] [autoit]

    $pages = 1
    $l = 0

    [/autoit] [autoit][/autoit] [autoit]

    $s_URL = "http://musik4life.de/test/test.php?group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[1] = _INetGetSource ( $s_URL )

    [/autoit] [autoit][/autoit] [autoit]

    If StringInStr ( $source[1], 'href="?offset=60&m=search' ) <> 0 Then
    $s_URL2 = "http://musik4life.de/test/test.php?offset=60&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[2] = _INetGetSource ( $s_URL2 )
    $pages = 2
    EndIf
    If StringInStr ( $source[1], 'href="?offset=120&m=search' ) <> 0 Then
    $s_URL3 = "http://musik4life.de/test/test.php?offset=120&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[3] = _INetGetSource ( $s_URL3 )
    $pages = 3
    EndIf
    If StringInStr ( $source[1], 'href="?offset=180&m=search' ) <> 0 Then
    $s_URL4 = "http://musik4life.de/test/test.php?offset=180&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[4] = _INetGetSource ( $s_URL4 )
    $pages = 4
    EndIf
    If StringInStr ( $source[1], 'href="?offset=240&m=search' ) <> 0 Then
    $s_URL5 = "http://musik4life.de/test/test.php?offset=240&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[5] = _INetGetSource ( $s_URL5 )
    $pages = 5
    EndIf
    If StringInStr ( $source[1], 'href="?offset=300&m=search' ) <> 0 Then
    $s_URL6 = "http://musik4life.de/test/test.php?offset=300&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[6] = _INetGetSource ( $s_URL6 )
    $pages = 6
    EndIf
    If StringInStr ( $source[1], 'href="?offset=360&m=search' ) <> 0 Then
    $s_URL7 = "http://musik4life.de/test/test.php?offset=360&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[7] = _INetGetSource ( $s_URL7 )
    $pages = 7
    EndIf
    If StringInStr ( $source[1], 'href="?offset=420&m=search' ) <> 0 Then
    $s_URL8 = "http://musik4life.de/test/test.php?offset=420&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[8] = _INetGetSource ( $s_URL8 )
    $pages = 8
    EndIf
    If StringInStr ( $source[1], 'href="?offset=480&m=search' ) <> 0 Then
    $s_URL9 = "http://musik4life.de/test/test.php?offset=480&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[9] = _INetGetSource ( $s_URL9 )
    $pages = 9
    EndIf
    If StringInStr ( $source[1], 'href="?offset=540&m=search' ) <> 0 Then
    $s_URL10 = "http://musik4life.de/test/test.php?offset=540&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[10] = _INetGetSource ( $s_URL10 )
    $pages = 10
    EndIf
    If StringInStr ( $source[1], 'href="?offset=600&m=search' ) <> 0 Then
    $s_URL11 = "http://musik4life.de/test/test.php?offset=600&group=" & $grpval & "&minage=&age=" & $mage & "&min=" & $min & "&max=" & $max & "&q=" & $pattern & "&m=search&adv=1"
    $source[11] = _INetGetSource ( $s_URL11 )
    $pages = 11
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    For $i = 1 to $pages

    [/autoit] [autoit][/autoit] [autoit]

    Global $labels = StringRegExp($source[$i],'<td class="subject">(.*?)</a>', 3)


    For $i = 0 to UBound ( $labels ) -1
    $labels[$i] = StringReplace ( $labels[$i], '<a class="incomplete" href="?p=', "" )
    $labels[$i] = StringReplace ( $labels[$i], '<a href="?p=', "" )
    $labels[$i] = StringTrimLeft ( $labels[$i], 9 )
    $labels[$i] = Stringreplace ( $labels[$i], '</b>', "")
    $labels[$i] = StringReplace ( $labels[$i], "<b>", "" )
    $labels[$i] = StringReplace ( $labels[$i], '&lt;', '<' )
    $labels[$i] = StringReplace ( $labels[$i], '&gt;', '>' )
    $labels[$i] = StringReplace ( $labels[$i], '&quot', '' )
    $labels[$i] = StringReplace ( $labels[$i], "&auml;", "ä" )
    $labels[$i] = StringReplace ( $labels[$i], "&uuml;", "ü" )
    $labels[$i] = StringReplace ( $labels[$i], "&ouml;", "ö" )
    $labels[$i] = StringReplace ( $labels[$i], ";", '"' )
    _ArrayInsert ( $labelsarray, $l, $labels[$i] )
    $l += 1
    Next

    [/autoit] [autoit][/autoit] [autoit]


    Next

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox ( 0, "$l", $l )
    MsgBox ( 0, "$pages", $pages )

    [/autoit]

    das script soll folgendes tun, es soll für jede $pages die StringRegExp
    schleife durchlaufen und die ergebnisse von allen schleifen in einem
    array $labelsarray wiedergeben... aber irgendwie gibt mir $pages
    zwar den richtigen wert, im normalfall bei mir 11 aus, jedoch bleibt
    $l bei 60 stehen... und im letztendlichen array ist der gleiche inhalt
    wie im $labels array... ist sehr verwirrend... vllt weiß jemand rat?

    Gruß

    nova

    • Offizieller Beitrag

    Also was mir nur mal so beim Überfliegen aufgefallen ist . Du benutzt 2 For Next Schleifen mit dem selben Variablennamen $i, das kann nicht gutgehen . Das sollten 2 unterschiedliche sein z.B. $i und $j .

    Versuch mal aus deinem Codeschnipsel ein lauffähiges Script zu basteln, damit man was zum testen hat .

    PS:Wenn du willst kannst du mir das Script auch als PN posten dann schau ich mal danach. Hab sowieso im Augenblick nix besseres zu tun .