GoLive

Die reguläre Suche nutzen

(msc) Stellen Sie sich folgende Ausgangssituation vor: Sie haben eine Website, auf der es eine grössere Anzahl Links gibt. Nun möchten Sie diese Links bearbeiten. Sie wollen, dass alle PDF-Dateien in einem neuen Browser-Fenster geöffnet werden. Dazu müssen Sie bekanntlicherweise ein target=_blank-Attribut einfügen; dieses weist den Browser an, beim Klick auf den Link für angegebene Dokument ein neues Fenster anzulegen.

Sie könnten nun alle Links von Hand bearbeiten – was aber schnell mühsam wird und auch nicht nötig ist: GoLive enthält für Fälle wie diesen die Möglichkeit, nach regulären Ausdrücken zu suchen. Ein regulärer Ausdruck (englisch «regular expression») ist eine formelle Art, eine (Unter-)Menge von Zeichenketten zu beschreiben. Er ermöglicht, eine grosse Textmenge nach einem bestimmten Muster abzusuchen; beispielsweise eine Anzahl an HTML-Dateien nach Links, die auf «.pdf» enden. Mit bestimmten Sonderzeichen – Metazeichen genannt – kann man eine bestimmte Anzahl Zeichen suchen, Platzhalter verwenden und vieles mehr. Eine einfache Form der regulären Ausdrücke kennen alte PC-Hasen von DOS: Der Stern steht für eine beliebige Zahl Zeichen, sodass *.pdf für alle Dateien mit der Endung PDF steht.

Viele Programme verwenden reguläre Ausdrücke, darunter Perl oder PHP, und eben auch GoLive.

Mit einem regulären Ausdruck lässt sich fast alles suchen, sodass Suchen-Ersetzen per Handarbeit der Vergangenheit angehört. Über die regulären Ausdrücke können auch komplexe Veränderungen an vielen Websites automatisch durchgeführt werden, so man es denn schafft, den regulären Ausdruck wunschgemäss zu formulieren. Doch das ist für Nicht-Mathematiker alles andere als leicht! Die Hilfedatei von GoLive erklärt die grundlegenden Konzepte – und ist daher als erste Informationsquelle unverzichtbar –, sie geizt aber mit konkreten Beispielen. Entsprechende Beispiele sind zwar über das Flyout-Menü von GoLives Suchdialog abrufbar; ohne weitere Erklärungen gelingt es aber kaum, diese den eigenen Bedürfnissen anzupassen.

Um nach regulären Ausdrücken zu suchen, betrachten Sie Ihre Webseite in der Ansicht «Quellcode», gehen über Bearbeiten > Suchen > Inhalt suchen, wählen ggf. die Option «im aktuellen Dokument», blenden die Optionen ein und aktivieren das Häkchen bei «regulärer Ausdruck».

Wenn man per regulärem Ausdruck Webseiten anpassen will, dürfte man in vielen Fällen nach HTML-Code suchen. Daher ist es unverzichtbar zu wissen, mit welchem regulären Ausdruck man HTML-Tags finden kann. GoLives Hilfedatei verrät das zwar nicht, deutet aber an, mit welchem Platzhalter man sein Glück versuchen sollte: Setzt man das Caret-Symbol ^ zwischen eckige Klammern, sucht man Zeichenketten, welche die dem Caret nachgestellten Zeichen nicht enthalten. «Mit [^ab] sucht man alle Zeichen, mit Ausnahme von ‹a› und ‹b›», sagt die Hilfedatei.

Daraus leitet sich ab, dass man mit [^<>] nach Zeichenketten suchen kann, die keine spitze Klammer enthalten, zwischen denen die HTML-Tags stehen. Der Stern * wiederum sucht nach einer beliebigen Anzahl des vorangestellten Zeichens, sodass man mit [^<>]* nach Zeichenketten sucht, die keine Klammern enthalten. Ummantelt man nun diesen regulären Ausdruck mit zwei eckigen Klammern, findet man beliebigen Text, der zwischen zwei eckigen Klammern steht – sprich: HTML-Tags: <[^<>]*>

Um bestimmte HTML-Tags zu finden, kann man dieses Suchmuster anpassen: </[^<>]*> findet schliessende Tags, <td[^<>]*> findet Tabellenzellen. Links sucht man dementsprechend mit <a href[^<>]*>. Möchten Sie einen Link mit abschliessendem </a>-Tag finden, dann ist das der richtige reguläre Ausdruck:
<a href[^<>]*>[^<>]*</a>

Um nur PDF-Dateien zu finden, integrieren Sie die PDF-Endung in den regulären Ausdruck. Da Links zwischen Anführungszeichen stehen, gilt es zu bedenken, dass das diese selbst Metazeichen sind. Um nach Anführungszeichen zu suchen, stellen Sie den umgekehrten Schrägstrich voran, d.h. Sie suchen mit \". Entsprechend finden Sie mit folgendem regulären Ausdruck alle Links auf PDF-Dateien:
<a href[^<>]*.pdf\">

Mit der Suche via Reiter «im aktuellen Dokument» der GoLive-Suchfunktion werden sie zwar fündig, können die Fundstellen jedoch nicht bearbeiten – Sie könnten hier die Links auf PDF-Dateien nur komplett durch etwas anderes ersetzen oder löschen.

Um Code zu modifizieren, stellt GoLive die Suchfunktion nach «Code-Elementen» bereit. Diese benutzen Sie, indem Sie im Dialog «Inhalt suchen» in die Ansicht «In mehreren Dateien suchen», wechseln und dort die Option «Code-Element» (bei der Auswahl, bei der auch Layout- und Quellcode-Modus zur Verfügung steht) aktivieren. Wählen Sie dann das Element a und das Attribut href für den Hyperlink. Um nun nach einem Dateinamen mit der PDF-Endung suchen zu können, benötigen Sie wiederum einen regulären Ausdruck. Da GoLive die Suche unter «Code-Element» auf HTML-Tags bzw. Hyperlinks beschränkt, fällt der reguläre Ausdruck deutlich einfacher aus als in den vorherigen Beispielen, wo Sie die regulären Ausdrücke selbst so formulieren mussten, dass die Suche nur Zeichenketten zwischen eckigen Klammern berücksichtigte. Geben Sie hier [^<>]*.pdf an, was soviel heisst wie: Suche irgendwas, das auf .pdf endet.

Unter Ändern definieren Sie den Wunsch, ein Attribut target mit Ziel _blank einzufügen. Diese Suche lassen Sie nun über alle Seiten laufen und voilà: Selbst wenn Sie Tausende von PDF-Links haben, gehen nach der Bearbeitung alle in einem neuen Browserfenster auf.

Wo steckt ein Link zu einer PDFDatei? GoLives Suche mit einem regulären Ausdruck beantwortet diese Frage.

Auf diese Weise sucht GoLive alle Links zu PDF-Dateien und ändert sie so ab, dass der Browser die PDFs in einem neuen Fenster öffnet.

Quelle: Publisher, Montag, 23. August 2004

Rubrik und Tags:

Faksimile

Metadaten
Thema: Web-Tipps
Nr: 5670
Ausgabe: 04-4
Anzahl Subthemen: 2

Obsolete Datenfelder
Bilder: 2
Textlänge: 380
Ort:
Tabb: