Martin Hein: Serach&Replace

Hallo Forum,

Es geht um die Ändeung einer Firmierung. Aus 'FirmenName' soll
'NeuerFirmenName' werden. Der gesamte Content der Website liegt
als XHTML in einer MySQL. Ich würde die Änderung per extended Search&Replace mit meinem Homesite im Dump machen. Mir ist eben
eingefallen, dass es dabei doch eine Menge zu beachten gibt:

ich darf nur den Text, den der Browser darstellen soll verändern.
z.B. Pfade auf Dokumente dürfen nicht verändert werden, weil
sie dann nicht mehr passen würden.

Wie ich das mache, weiss ich noch nicht. Das läuft wohl unweigerlich
auf Regular Expressions hinaus, was ich a) wirklich nicht gut kann
und was b) auch sehr sorgfältig geplant werden muss.

Ob ich an noch mehr denken muss, weiss ich auch bisher nicht,
deshalb dieser Thread. Fällt euch noch was ein ? Würdet Ihr
das grundsätzlich anders machen ?

danke für tipps und

beste gruesse,
martin

  1. Hallo,

    Ob ich an noch mehr denken muss, weiss ich auch bisher nicht,
    deshalb dieser Thread. Fällt euch noch was ein ? Würdet Ihr
    das grundsätzlich anders machen ?

    Ich weiß nicht wie umfangreich deine Datenbank ist, aber mir haben die replace Funktionen von PHPMyAdmin bisher immer gereicht.

    Grüße, Matze

    1. Hallo Matze,

      Ich weiß nicht wie umfangreich deine Datenbank ist, aber mir haben die replace Funktionen von PHPMyAdmin bisher immer gereicht.

      klingt interessant. Wo sind die replace-Funktionen von phpMyAdmin ?
      Ich konnte keine finden.

      beste gruesse,
      martin

  2. Hallo Martin,

    Ob ich an noch mehr denken muss, weiss ich auch bisher nicht,
    deshalb dieser Thread.

    fertige als allererstes ein Backup der Datenbank an.

    Freundliche Grüße

    Vinzenz

  3. Hallo Martin,

    Würdet Ihr das grundsätzlich anders machen ?

    Ja, und zwar per XSLT. Als Grundlage führst du eine Identitätstransformation durch. Jetzt kommt es auf die konkrete Anforderung an, die ich aufgrund deiner mangelhaften Beschreibung interpretiere. Du machst ein rekursives Template für Textknoten worin du die Ersetzung mit den XPath-Stringroutinen durchführst. Das ist ein bisschen Fummelarbeit aber du hast die wirkliche Kontrolle darüber.

    Du könntest das durchaus mittels Regulärer Ausdrücke machen, aber da gehört sehr, wirklich sehr, sehr viel Fingerspitzengefühl dazu. Wenn du nicht topfit, sowohl im XML-Regelwerk als auch in der Handhabung Regulärer Ausdrücke, bist, vergiss es - du wirst dann sowieso kein Vertrauen dazu haben.

    Gruß Uwe

    1. Hallo Uwe,

      klingt interessant aber von XSLT weiss ich garnix. Das
      ist also nicht meine Weg. Ich glaub, ich muss nur einen
      regulären Ausdruck entwickeln, der das tut, was er soll.
      dazu muss ich erstmal klar definieren,

      was er soll:

      nur zutreffen, wenn das gesuchte Muster vom Browser als
      Text dargestellt wird. Woran ich das erkenne, muss ich
      klären.

      Naheliegend wäre die Behauptung:

      Text der von '><' eingeschlossen ist, wird vom Browser
      als Text dargestellt.

      Ist das so ?

      beste gruesse,
      martin

      1. Hallo Martin,

        Text der von '><' eingeschlossen ist, wird vom Browser als Text dargestellt.

        Nicht unbedingt.

        <foo att=">Lorem">Lorem</foo>
        <foo>Lor>em</foo>
        <!-- >Lorem< -->
        <![CDATA[ >Lorem< ]]>

        Das sind natürlich konstruierte Fälle, die so vermutlich nicht vorkommen. Du musst selber entscheiden, ob solche Fälle Relevanz besitzen. Wenn nicht, da hast du doch recht, ist der Reguläre Ausdruck einfach.

        Gruß Uwe