Bestimmte Strings aus Quelltext auslesen

  • Hallihallo,
    ich hab wieder mal ein Problem und finde den alten Thread mit der Lösung nicht mehr. Also ich habe einen Quellcode (von einer Internetseite) und will jetzt bestimmte Strings auslesen. Wie geh ich da jetzt am besten vor? Ausschnitte des Quellcodes im Spoiler:

    Spoiler anzeigen

    Nachricht geöffnet:


    Absender:Aquaplant


    Empfänger:Aquaplant


    Sendezeit:07.01.2010 23:09


    Betreff:Test


    colspan="2" style="">


    <DIV>


    Läuft


    Nachrichten so:


    type="checkbox" name="msgid[]" value="539564"
    />


    <IMG src="images/email.png"


    title="ungelesen" />


    style='font-weight:bold'>Neu



    <A href="?module=feedback&id=9717">Aquaplant



    07.01.2010 23:13












    type="checkbox" name="msgid[]" value="539563"
    />



    <IMG src="images/email_open.png"



    title="gelesen" />



    [url='[color=red]?module=message&action=view&id=539563[/color][color=black]'][/color]Test



    <A href="?module=feedback&id=9717">Aquaplant



    07.01.2010
    23:09








    Link
    Prefix: [url]http://gwah.onlinewelten.com/


    Ich möchte jeweils den Absender, die Sendezeit, Betreff und Nachricht. Evt. auch noch ob die Nachricht gelesen/ungelesen ist
    Um an den Quellcode der Nachricht zu kommen benötige ich außerdem das was im href steht.
    Ich hoffe ihr könnt mir schnell helfen/einen Denkanstoß geben ;)
    Viele Grüße
    Aquaplant

    Einmal editiert, zuletzt von Aquaplant (8. Januar 2010 um 10:29)

  • Hallo Aquaplant,

    die funcs zur Stringmanipulation sollten dir helfen z.B.:

    [autoit]

    #Include <String.au3>
    $sSource = '<tr><td style="width:100px">Absender:</td><td>Aquaplant</td></tr>'
    $sAbsender = _StringBetween($sSource,'>Absender:</td><td>','</td></tr>')
    MsgBox(0,"Absender",$sAbsender[0])

    [/autoit]

    mfg (Auto)'Bert

  • Ich habe mir mal nicht die AGB durchgelesen, aber ich denke, du handelst korrekt.

    Für deine Aufgaben brauchst du nur:
    _StringBetween()

    Mal hier kurz der Code für FF.au3:

    [autoit]


    ;$html = '<tr><td style="width:100px">Absender:</td><td>Aquaplant</td></tr>'
    $html = _FFReadHtml()
    $StringBetween=_StringBetween($html,'<tr><td style="width:100px">','</td><td>Aquaplant</td></tr>')
    $Absender = $StringBetween[0]
    MsgBox(0,"",$Absender)

    [/autoit]

    Der Rest genauso...

    Edit: zu spät...

  • Falls du es per RegEx lösen willst:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $sText = '<tr><td style="width:100px">Absender:</td><td>Aquaplant</td></tr>' & @CRLF
    $sText &= '<tr><td>Empfänger:</td><td>Aquaplant</td></tr>' & @CRLF
    $sText &= '<tr><td>Sendezeit:</td><td>07.01.2010 23:09</td></tr>' & @CRLF
    $sText &= '<tr><td>Betreff:</td><td style="font-weight:bold">Test</td></tr>' & @CRLF

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

    $aAbsender = StringRegExp($sText,"(?<=Absender:<\/td><td>)\w+",3)
    $aEmpfaenger = StringRegExp($sText,"(?<=Empfänger:<\/td><td>)\w+",3)
    $aUhrzeit = StringRegExp($sText,"(?<=Sendezeit:<\/td><td>)(?:\d+\.){2}\d{2,4}\s\d+\:\d+",3)
    $aBetreff = StringRegExp($sText,'(?<=Betreff:</td><td style="font-weight:bold">)\w+',3)

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

    ;~ _ArrayDisplay($aAbsender)
    ;~ _ArrayDisplay($aEmpfaenger)
    ;~ _ArrayDisplay($aUhrzeit)
    ;~ _ArrayDisplay($aBetreff)

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

    MsgBox(0,"",$aAbsender[0] & @CRLF & $aEmpfaenger[0] & @CRLF & $aUhrzeit[0] & @CRLF & $aBetreff[0] & @CRLF)

    [/autoit]