Aus verlinkten Bild, die Bild Url heraus filtern

  • moin,
    bin ein neuling und versuche gerade autoit zu lernen, wollte mal fragen ob mir jemand bei meinen problem helfen kann.

    es handelt sich um folgente situation
    hier php/html quellcode

    Spoiler anzeigen


    und zwar möchte ich die src= Url heraus fischen und in eine text datei speichern,
    dafür hab ich nur den id='1993904065' parameter und den name="1993904065" parameter der übrigens immer der gleiche ist

    ich hatte schon so viel probiert aber es hat alles nichts gebracht
    deswegen bitte ich euch um rat.

    ich bedanke mich schon mal für eure hilfe
    mfg
    0815bob

  • du brauchst nur ein regex auf den code anwenden

    /*<a name="1993904065" href="(.*)><img*/ <--- mal als kleines beispiel

  • Hallo,
    die "zu Fuß"-Lösung, es werden sich aber sicher noch einige RegEx´er melden^^

    Spoiler anzeigen
    [autoit]

    $text = FileRead("quelltext.txt") ;quelltext in variable
    $von = StringInStr($text, "name=""1993904065""") ;Position des Strings feststellen
    $src = StringInStr($text, "src=", 0, 1, $von)+4 ;ab name= die nächste Position NACH DEM src= finden (position hinter dem gleichheitszeichen)
    $ende_src = StringInStr($text, ">", 0, 1, $src) ;nächste Position des > finden
    $url = StringMid($text, $src , $ende_src - $src ) ;zwischen den beiden Positionen steht der gesuchte string
    MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$url' & @lf & @lf & 'Return:' & @lf & $url) ;### Debug MSGBOX

    [/autoit]


    Andy

  • danke euch beiden
    hab die zu fuß lösung genommen denn die versteh ich wenigstens und die leuft

    trotzdem wär es net wenn einer mir das mit dem regex erklären würde

    mfg
    0815bob

  • Code
    <a name="1993904065" href="Hier_Link"><img alt="irgent ein alternetiv text" border=0 src='Hier die gesuchte Url'></a>


    nehmen wir die zeile so
    nun erstetzen wir alles was sich ändert gegen ein *
    und das was du willst machst du (.*)

    Code
    <a name="1993904065" href="*"><img alt="*" border=0 src='(.*)'></a>

    Da nun noch lerrzeichen davor oder dahinter stehen könnten
    machst du vor und nach dem bereich noch ein *

    Code
    *<a name="1993904065" href="*"><img alt="*" border=0 src=\'(.*)\'></a>*

    somit hast du schonmal den regex

    [autoit]


    $html = _INetGetSource("deineurldieabgefragt werden soll")
    $var = StringRegExp($html, '*<a name="1993904065" href="*"><img alt="*" border=0 src=\'(.*)\'></a>*', 1)
    ;$var[0] <-- dadrin steht dann dir url

    [/autoit]

    ist ungetestet sollte aber so funktionieren