StringRegExp (...mal wieder)

  • Moin,

    ich krieg's einfach nicht in die Birne ... :comp2:

    Also, ich möchte aus folgender Zeile

    PHP
    <option value="490" selected>10.08.07::Dan Bland, Coldcut</option>


    das hier

    Code
    10.08.07::Dan Bland, Coldcut


    extrahieren, aber es klappt einfach nicht, egal wie ich es drehe und wende.
    Die "490" sind variabel !!!

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.4.9
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    #include <File.au3>
    #include <INet.au3>
    #include <Array.au3>

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

    dim $szSource
    Dim $arSource
    Dim $c = 1
    Dim $szLine

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

    $arSource = StringSplit(_INetGetSource('http://www.ninjatune.net/solidsteel/playlist.php?play=1'), @CRLF)

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

    for $i = 1 To $arSource[0]
    ; Geht nicht !
    ; If StringRegExp($arSource[$i], '(?i:DK, Zeep)') Then
    ; $szLine &= StringRegExpReplace($arSource[$i], '.*\d*\>|</option>', '') & '|'
    ; EndIf
    ; Geht nicht !
    ; If StringRegExp($arSource[$i], '(?i:DK, Zeep)') Then
    ; $szLine &= StringRegExpReplace($arSource[$i], '<option value="\d*\">|</option>', '') & '|'
    ; EndIf
    ; Geht ...
    If StringInStr($arSource[$i], 'span class="listcol"') Then
    $szSource &= StringRegExpReplace($arSource[$i], '(?i).*\">|</span>', '') & '|'
    EndIf
    Next

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

    $arSource = StringSplit($szSource, '|')

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

    For $i = 1 To $arSource[0]
    Switch $c
    Case 1
    $szLine &= $arSource[$i] & ' - '
    $c += 1
    Case 2
    $szLine &= $arSource[$i] & ' ('
    $c += 1
    Case 3
    $szLine &= $arSource[$i] & ')|'
    $c = 1
    EndSwitch
    Next

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

    $arSource = StringSplit($szLine, '|')
    _ArrayDisplay($arSource)

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

    ;_FileWriteFromArray('Playlist.txt', $arSource, 1)

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

    :irre:


    Gruß
    Greenhorn


    Einmal editiert, zuletzt von Greenhorn (18. August 2007 um 23:32)

  • Hi :D,
    müßte eigentlich mit StringBetween gehen

    [autoit]

    #include<String.au3>
    #include<Array.au3>
    $test = '<option value="490" selected>10.08.07::Dan Bland, Coldcut</option>'

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

    $array = _StringBetween($test, "selected>", "</option>")
    _ArrayDisplay($array)
    MsgBox(0,"", $array[0])

    [/autoit]
  • Genau, oder so:

    [autoit]

    $string = StringMid( $string,StringInStr($string,">")+1)
    $string = StringLeft($string,StringInStr($string,"</option>")-1 )

    [/autoit]

    Grüße
    Stilgar

    Einmal editiert, zuletzt von Stilgar (18. August 2007 um 23:55)