Replace Text – Suchen und Ersetzen im Wiki

CCO Public Domain via Pixabay.
CCO Public Domain via Pixabay.

Beim Umgang mit längeren Texten kommt es nicht selten vor, dass ein häufig verwendeter Begriff falsch geschrieben wurde oder nicht mehr aktuell ist und daher ausgebessert werden muss. Um zu vermeiden, dass man das gesamte Dokument „händisch“ durchgehen und korrigieren muss, gibt es in gängigen Textbearbeitungsprogrammen wie z. B. MS Word für dieses Problem die Funktion „Suchen und Ersetzen“.

Auch für MediaWiki-Nutzer gibt es ein ähnliches Werkzeug namens ReplaceText. Dabei handelt es sich um eine kleine aber leistungsstarke MediaWiki-Extension, die es ermöglicht, nach bestimmten Zeichenkombinationen – also Text, Code oder Leerraum – zu suchen und diese zu ersetzen und zwar sowohl innerhalb der Wiki-Artikel selbst als auch in den Artikeltiteln. Es gibt außerdem die Option, komplexe Mustererkennungsalgorithmen in Form von regulären Ausdrücken für die etwas anspruchsvolleren Such- und Ersetzungsvorgänge zu verwenden.

Man kann ReplaceText auf zwei Arten nutzen: ganz bequem über eine eigene Spezialseite mit Eingabefenstern oder über eine Kommandozeile. Für letztere Option muss man das Skript replaceAll.php auf dem Wiki-Server ausführen, das mit mehreren Argumenten versehen, sehr rasch gezielte Ersetzungen vornehmen kann. Um auf der Server-Ebene zu arbeiten, sind allerdings besondere Berechtigungen notwendig, die nur Nutzern mit technischem Vorwissen vorbehalten sein sollten.

ReplaceText mit Spezialseite

ReplaceText – im deutschen Wiki „Text ersetzen“ genannt – generiert eine Spezialseite, die Sie auf der Seite „Spezialseiten“ unter „Daten und Werkzeuge“ finden.

ReplaceText findet man über die Spezialseite Daten und Werkzeuge.
ReplaceText findet man über die Spezialseite Daten und Werkzeuge.

Die Spezialseite ist fettgedruckt, d. h. sie ist nur Usern mit Administratorenrechten zugänglich. Dies ist auch sinnvoll, denn man kann mit diesem Werkzeug „auf einen Knopfdruck“ ziemlich großen Schaden anrichten. Die Spezialseite, die Sie vorfinden, arbeitet wie ein kleiner Assistent, der Sie als Anwender durch eine kurze Routine leitet:

Im 1. Schritt geben Sie den vorhandenen, zu ersetzenden Text sowie den gewünschten, neuen Text ein. Des Weiteren können Sie hier mit diversen Filtern arbeiten und die Ersetzung zum Beispiel auf bestimmte Namensräume oder Kategorien einschränken. Sie haben außerdem die Möglichkeit die Funktion auf Artikelinhalte oder Artikeltitel zu beschränken.

Erstes ReplaceText Formular
Erstes ReplaceText Formular

Im 2. Schritt werden nun alle gefundenen Artikel und Artikeltitel aufgelistet, in denen der zu ersetzende Text gefunden wurde. Hier haben Sie noch die Möglichkeit, bestimmte Stellen von der Ersetzung auszuschließen. Erst wenn Sie die Liste mit einem Klick auf „Ersetzen“ bestätigen, wird der Prozess gestartet.

Zweites Formular mit Auswahl der Artikel
Zweites Formular mit Auswahl der Artikel

Im 3. Schritt erhalten Sie vom System eine abschließende Bestätigung darüber, was ersetzt wurde und auf wie vielen Seiten die Änderungen stattgefunden haben.

Bestätigung des Ersetzungsvorgangs
Bestätigung des Ersetzungsvorgangs

Verwendung regulärer Ausdrücke

Reguläre Ausdrücke (englisch regular expression, abgekürzt RegExp bzw. Regex) werden in der Suche von Texten als Filterkriterien gebraucht, um Zeichenketten auf eine bestimmte Zusammensetzung zu prüfen. Mit deren Hilfe ist es z. B. möglich, alle Wörter, die mit beginnen und auf enden, zu filtern, ohne die zwischenliegenden Zeichen genauer zu definieren.

Um reguläre Ausdrücke beim Ersetzen von Texten im Wiki zu verwenden, muss im ersten Formular die Checkbox für die Verwendung dieser angehakt und damit aktiviert werden. Anzuwenden ist nur ein Subset der regulären Ausdrücke von PHP und MySQL. Folgende Zeichen können genutzt werden:

( ) . * + ? [ ] |  sowie $1, $2 etc.

Sollen diese Zeichen als reale Zeichen im Text und nicht als Teil eines regulären Ausdrucks interpretiert werden, muss vor das entsprechende Zeichen ein „\“ gesetzt werden (siehe zweites Beispiel: der Punkt wird als Textzeichen gewertet)

Beispiele:

Such-String Ersetzen-String Verhalten
\[\[Kk]ategorie:(.*?)\]\]
[[Category:$1]]
Ersetzt alle deutschen Kategorie-Tags durch englische Kategorie-Tags
([0-9]*)\.([0-9]*)
$1,$2
Ersetzt den Punkt zwischen zwei Zahlenfolgen durch ein Komma, z. B.:
2465.8924 zu 2465,8924

Was passiert bei der Ersetzung im Wiki?

Nun ist ein MediaWiki ein ganz besonderes Stück Software mit vielen kleinen Eigenheiten, die bei der Verwendung einer Extension wie ReplaceText Fragen aufwerfen, z. B. ob und wie die Ersetzungen in der History auftauchen, wie man den Prozess wieder rückgängig machen kann etc. Der Autor der Extension – Yaron – hat diese Besonderheiten berücksichtigt und meines Erachtens sehr gut gelöst:

  • Jeder einzelne Ersetzungsprozess taucht als „minor edit“ in der Versionierung eines Wiki-Artikels auf. Als Autor der Ersetzung wird standardmäßig derjenige genannt, der den Prozess in Gang gesetzt hat. Es besteht allerdings auch die Möglichkeit, die Aktionen einem Bot zuzuweisen.
  • Wenn ein Seitentitel geändert wird, also quasi eine Verschiebung des Artikels stattfindet, kann auf Wunsch eine Weiterleitung eingerichtet werden.
  • Es gibt keine eigene Funktion um die Ersetzung wieder rückgängig zu machen. Man kann natürlich den Prozess durch „ReplaceText“ wieder „umdrehen“. Allerdings ist zu bedenken, dass dann auch Zeichenabfolgen, die schon vorher so bestanden, ausgewechselt werden.

Wo kann ich die Funktion downloaden?

Wie oben schon erwähnt, stammt die Erweiterung aus der Feder des erfahrenen MediaWiki-Entwicklers Yaron Koren, der zum Beispiel auch für die Extension Semantic Forms verantwortlich ist. ReplaceText ist nicht in der Standardversion von MediaWiki enthalten, kann aber nachträglich von mediawiki.org heruntergeladen und installiert werden.

Sollten Sie BlueSpice installiert haben, so ist diese Funktion bereits integriert und kann sofort genutzt werden.

Weitere Informationen zu ReplaceText:
Mediawiki.org
– BlueSpice Helpdesk: ReplaceText

 

Dies könnte Ihnen auch gefallen

Schreiben Sie einen Kommentar