baseportal
Suche: 
 Forum   Start 

Sonderzeichen maskieren

 
In jeder Programmiersprache gibt es bestimmte Zeichen, die eine besondere Bedeutung haben. Hier in dieser Dokumenation haben wir bereits das $-Zeichen als besonderes Zeichen kennengelernt - es wird nicht einfach selbst ausgegebenen, sondern steht am Anfang einer Variablen.

Was, wenn Sie aber statt dem Inhalt der Variablen "test" tatsächlich $test, also ein $-Zeichen gefolgt von "test" ausgeben wollen? Hierzu müssen Sie das $-Zeichen, das nun ganz normal ausgegeben werden soll, "maskieren". Wie in Perl oder UNIX üblich, erfolgt dies mit dem \-Zeichen, auch "Backslash" ("umgedrehter Schrägstrich") oder "Escape"-Zeichen (da sie damit vor der besonderen Bedeutung "flüchten") genannt:

Inhalt von \$test: $test

Angenommen die Variable $test enthält den Text "Hallo", dann wird an dieser Stelle:

Inhalt von $test: Hallo

ausgegeben.

Bei einigen Zeichen gibt es Probleme, wenn sie Teil einer Abfrage sind, z.B. mit dem Leerzeichen, da dieses die Parameter voneinander trennt oder mit dem Grösserzeichen >, da dieses als Endekennung für Tags dient. Sie müssen deshalb diese "speziellen" Zeichen mit dem vorangestellten "Backslash" \ kennzeichnen:

<do action=all Name\ oder\ Firma\>a listfields=Name\ oder\ Firma,Strasse>

Hier werden alle Einträge des Feldes "Name oder Firma" beginnend mit dem "b" ausgegeben.

Soll innerhalb eines Perl-Codes ein Sonderzeichen maskiert werden, ist die Sache komplizierter, da der Backslash auch ein reserviertes Perl-Zeichen ist. Deshalb wird der Backslash mit einem weiteren Backslash maskiert.

Hier, wie in einem get ein Wert mit Leerzeichen abgefragt werden muss:

get "Name==Stefan\\ Meier";

In diesem Fall ist es schöner, gleich die folgende Abfrageform von get zu nutzen:

get ["Name", "==", "Stefan Meier"];

Alte Version vom 22.9.2007, 16:21 - Stichworte: Sonderzeichen entschärfen

c und wiederherstellen - + 
© baseportal GmbH. Alle Rechte vorbehalten.


powered in 0.01s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!