StringReplace​ ändert mir zu viel

  • Hallo,


    komme irgendwie nicht weiter.
    Versuche eine Hompage per Autoit zu gestalten, zumindest einige Teile davon.
    Nun versuche ich mit "_StringBetween" die Formatierung einer Überschrift zu ändern.
    Was auch so weit gelingt, nur wenn ich die Farbe ändere wird auch die Farbe des drunter stehenden Textes geändert.
    Mir fällt da so langsam nichts mehr zu ein warum das so ist.


    Hier mal die html Datei als Text

    Spoiler anzeigen


    Wie kann man das abstellen das sich auch die Farbe unter der Überschrift ändert, oder einfacher was mache ich falsch?


    Gruss
    Uli

  • zu allererst einmal _StringBetween ändert gar nichts es gibt nur ein Array mit allen Treffern zurück. Das Problem liegt imho auf der HTML Schiene, da bin ich Laie. Aber ändere doch einfach einmal deine Datei mit einem HTML fähigen Tool, speicher unter einem anderen Namen und vergleiche die Unterschiede, dann erkennst du was du im Skript ändern musst.

  • Du hast natürlich recht, geht wohl eher um das StringReplace was mir das Ergebnis von _StringBetween in die einzelnen
    Farbwerte schreibt.

    Habe den Titel mal angepaßt.

    Arbeite mit zwei Editoren für html Dateien, zum einen mit Expression Web und mit Dreamweaver cs6 wobei mir beide beim ändern der
    Farbe immer neue Styles machen was ich aber nicht gebrauchen kann.


    Gruss
    Uli

  • Bekomme jetzt den Farbwert für die Überschrift geändert. Habe nur in Zeile 56

    AutoIt
    $fertig3 = StringReplace($text3, $aArray3[0], $farbwert)


    die Anzahl der Änderungen auf 1 gesetzt.

    AutoIt
    $fertig3 = StringReplace($text3, $aArray3[0], $farbwert, 1)

    Nur wie mache ich das wenn ich den Text unter der Überschrift dann auch ändern möchte?


    Gruss
    Uli

  • Was ist eigentlich der Sinn des ganzen? Willst du automatisiert websites mit dem script durchlaufen und ersetzen lassen, oder was soll das werden?
    Wenn ich wüsste, was das Ziel des ganzen ist, könnte ich dir denke ich besser helfen.

    Am einfachsten wäre es vermutlich, die ganze HTML-Datei per AutoIt zu erstellen, statt teile zu bearbeiten.

  • Hallo Kanashius,


    habe mich breitschlagen lassen eine Homepage für meinen Schützenverein zu gestalten und auch Online zu stellen.
    Bin damit auch FAST durch. Möchte das ganze dann aber auch so gestalten das zB unser Schriftführer auch news Posten
    kann ohne html Kentnisse zu haben. Habe leider nicht die Zeit mich immer um diese Homepage zu kümmern.
    Im Grunde baue ich mir so etwas wie einen mini Editor für die einzelnen Seiten die dann auch von den Tool hochgeladen werden.
    Die html Datei die ich oben gepostet habe ist eine von 5 Top News Seiten die man dann halt gestalten kann.

    Habe aber auch gerade eine Möglichkeit für mein Problem gefunden,_StringReplaceEx() von SEuBo
    Habe immer in der falschen Richtung gesucht und es wohl deshalb nicht gefunden.

    Setzte das hier mal auf gelöst.


    Gruss
    Uli

    Einmal editiert, zuletzt von oh-ha-2 (22. Januar 2016 um 15:33)

  • Naja, wenn das dein Ziel ist würde ich empfehlen, mit PHP zu arbeiten. Damit kann man inhalte aus anderen Dateien in den Quellcode einarbeiten,... Auf meiner Website hab ich es Beispielsweise so gemacht.
    Jeder Seiteninhalt wird als datei gespeichert und bekommt eine id.
    Es gibt eine Datei, in der titel, kurzinfo,... zu jeder id stehen.
    Es gibt eine datei, in der die navigation definiert wird (mit den ids, über die dann titel,... automatisch eingebunden werden)
    So müsstest du später nur eine Datei erstellen, die wird dann dort eingebunden.
    Ist jetzt ein Verfahren, wie man so etwas normal machen würde...
    (Wobei normal Datenbanken für sowas genutzt werden)

    Immer den Quellcode zu bearbeiten ist da so eigentlich auch nicht gedacht...
    Also, speicher das in nem eigenen Format ab, das du mit PHP auswertest und ins HTML einfügst, so kann leicht editiert werden und Inhalte hinzuzufügen ist dann auch kein Problem.
    So wie du es jetzt machst können schnell Probleme auftreten, wenn z.b. irgendwo in der Websites dinge mehrmals auftreten, uvm.

    Wenn du dabei Hilfe brauchst/Infos möchtest kannst du mich auch gerne mit PM anschreiben. Passt ja nicht mehr so ganz zu dem Problem des Threads hier.

    MfG Kanashius

  • Für dein Projekt würde ich dir zu einem fertigen Produkt ala WordPress raten.

    Falls du aber deine Lösung über AutoIt weiter verfolgen willst würde ich dein Problem mit StringReplace so lösen:

    die überflüssigen includes habe ich drun gelassen, da du ja anscheinen eine GUI aussen rum basteln willst, obiges ist nur ein 1. Ansatz.

  • Oh Danke dir,


    habe das so weit schon auf die Reihe bekommen Post 6, schaue mir das aber mal an ob es besser zu dem passt was ich vorhabe.
    Die Hompage ist so weit schon fertig und auch das ein oder andere Tool dazu.
    Die überflüssigen Includes habe ich drin gelassen, wie du schon richtig erkannt hattest habe ich ein Tool geschrieben und hier nur
    einen funktionierenden Auszug reingestellt der mir Kopfschmerzen gemacht hatte. Gefunden hatte ich eine Lösung nachdem du mich
    in die richtige Richtung gestoßen hattest.


    Gruss
    Uli

    Einmal editiert, zuletzt von oh-ha-2 (23. Januar 2016 um 10:18)

    • Offizieller Beitrag

    Ich vermute du hast eine css-Datei oder einen <style>..</style>-Block im Dokument um alle Styles zu verwalten.
    Wenn nur einzelne Definitionen verwaltet werden sollen, kannst du doch mehrere Klassen bilden. Ist zwar mehr Definition, läßt sich aber auch einfacher bearbeiten.
    Bsp.: Überschrift soll in Font und Farbe änderbar sein, aber einzeln.
    Im Element z.B.:
    <div class="ufont ucolor">...</div>
    In der Style-Definition:
    .ufont { font-family: Courier New; }
    .ucolor { color: #000000; } 

    Dann kannst du einfach die kpl. class-Definition ersetzen mit neuem Wert und brauchst keine einzelnen Elemente einer Definition aufbröseln.

  • Hallo BugFix,

    sau guter Gedanke, das vereinfacht recht viel. Habe mehrere css Dateien, form, style usw da kann ich dann auch eine nur für die News anlegen und muss
    nicht in der html Datei rumwühlen zumindest nicht um das Aussehen zu ändern.
    Man man man auf die einfachsten Dinge kommt man einfach nicht.


    Gruss
    Uli