Html datei bestimmter teil ändern

  • Huhu, ich hab folgendes problem, ich muss in einer "ts.html" den teil "127.0.0.1" in den output des

    [autoit]

    @IPAddress1

    [/autoit]

    ändern:

    HTML
    <html><head><title>sample</title><meta http-equiv="refresh" content="5; URL=127.0.0.1:14534/"></head><body>aa</body></html>


    Das ist die datei, der rote teil soll pracktisch in die ipadresse im netzwerk

    [autoit]

    @IPAddress1

    [/autoit]

    geändert werden
    Wie kann ich das machen?
    Mfg Alex

    Einmal editiert, zuletzt von Alex2801 (5. Oktober 2009 um 22:25)

  • [autoit]

    $text="bla blup url=127.0.0.1 testtest"
    msgbox(0,0,stringreplace($text,"127.0.0.1",@IPAddress1))

    [/autoit]
  • hmm funktioniert noch nicht ganz, wenn ich das so hab:

    [autoit]

    $text="C:\xampplite\htdocs\ts.html"
    msgbox(0,0,stringreplace($text,"127.0.0.1",@IPAddress1))

    [/autoit]


    aber an dem file ändert sich nichts
    was ist falsch?
    Mfg Alex

  • Wie soll es auch?
    Du zeigst den Inhalt nur in einer MsgBox.
    Sonst macht dein Skript nichts ^^
    So könnte es klappen

    [autoit]

    $FileName = "" ;Hier muss der Name der Datei rein

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

    $Open = FileOpen ($FileName, 2)
    $Text = FileRead ($Open)
    $NewText = StringReplace ($Text, "127.0.0.1", @IPAddress1)
    FileWrite ($Open, $NewText)
    MsgBox (0, "", "Fertig")

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Hallo Alex2801,

    du must die Datei einlesen, mit Stringreplace manipulieren und danach wieder speichern.

    Spoiler anzeigen
    [autoit]

    $datei = FileOpen("C:\xampplite\htdocs\ts.html", 0)

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

    ; Überprüfe ob die Datei geöffnet werden konnte
    If $datei = -1 Then
    MsgBox(0, "Error", "Konnte Datei nicht öffnen.")
    Exit
    EndIf
    $text=FileRead($datei)
    $neu = stringreplace($text,"127.0.0.1",@IPAddress1)
    FileClose($datei)

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

    $file = FileOpen("C:\xampplite\htdocs\ts.html", 1)

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

    ; Prüfen, ob Datei im Schreibmodus geöffnet ist
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die Ausgabe-Datei konnte nicht geöffnet werden.")
    Exit
    EndIf

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

    FileWrite($file, $neu)
    FileClose($file)

    [/autoit]

    MFG (Auto)Bert

  • Bei einer datei musst du es so machen:

    Spoiler anzeigen
    [autoit]

    $read = FileRead("C:\xampplite\htdocs\ts.html")
    MsgBox(0,0,StringReplace($read,"127.0.0.1",@IPAddress1))

    [/autoit]


    FileRead() liest den Inhalt der Datei also "<html><head><title>sample</title><meta http-equiv="refresh" content="5; URL=127.0.0.1:14534/"></head><body>aa</body></html>". Bei dir versucht es in dem Pfad "C:\xampplite\htdocs\ts.html" 127.0.0.1 zu ersetzen was aber nicht drin vorkommt^^

    MfG xXTobi93Xx

  • habs mit allen versucht, das einzige was was bewegt hat war das von Autobert, aber das hat irgendwie nur den text verdoppelt also alles kopiert, und nochmal eingefügt^^
    Mfg Alex

  • Bei FileOpen gibt es mehrere Moduse (kenne die mehrzahl von Modus nicht ^^) darunter auch Lese- und Schreibmodus und du hast beim Lesen den Schreibmodus genommen und das geht nicht.

    Spoiler anzeigen
    [autoit]

    $FileName = "C:\xampplite\htdocs\ts.html" ;Hier muss der Name der Datei rein

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

    $Open = FileOpen ($FileName, 0) ;Datei im Lesemodus öffnen!
    $Text = FileRead ($Open)
    $NewText = StringReplace ($Text, "127.0.0.1", @IPAddress1)
    FileClose($Open)

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

    $Open = FileOpen ($FileName, 2) ;Datei im Schreibmodus öffnen!
    FileWrite ($FileName, $NewText)
    MsgBox (0, "b", "Fertig")
    FileClose($Open)

    [/autoit]

    edit: Bin heute aber langsam^^

    MfG xXTobi93Xx

    Einmal editiert, zuletzt von xXTobi93Xx (5. Oktober 2009 um 22:34)