Maskieren von Eingaben/Strings
Maskieren nennt man die Vorgehensweise, um Zeichen, die normalerweise syntaktisch wichtig sind,
unbedeutend zu machen. In PHP (sowie auch in vielen anderen Programmiersprachen) geschieht das,
indem man dem zu maskierenden Zeichen einen Backslash (\) voranstellt.
String in einfachen Anführungszeichen mit der Verwendung eines nicht maskierten, einfachen
Anführungszeichen, endet in einem Parse error.
Test 1:
$string = 'Hallo ich verwende ein einfaches (') und ein doppeltes (") Anführungszeichen';
Ausgabe:
Parse error: syntax error, unexpected ')' in /path/to/your/script/script.php on line 16
Hier wird das einfache Anführungszeichen richtig maskiert. Die Ausgabe unterdrückt auch den Backslash.
Test 2:
$string = 'Hallo ich verwende ein einfaches (\') und ein doppeltes (") Anführungszeichen';
echo $string;
Ausgabe:
Hallo ich verwende ein einfaches (') und ein doppeltes (") Anführungszeichen
Hier werden beide Anführungszeichen maskiert. Während bei dem einfachen Anführungszeichen
der Backslash unterdrückt wird, wird er bei dem doppelten Anführungszeichen angezeigt.
Test 3:
$string = 'Hallo ich verwende ein einfaches (\') und ein doppeltes (\") Anführungszeichen';
echo $string;
Ausgabe:
Hallo ich verwende ein einfaches (') und ein doppeltes (\") Anführungszeichen
Das einfache Anführungszeichen wurde nicht maskiert. Deshalb Parse error.
Test 4:
$string = 'Hallo ich verwende ein einfaches (') und ein doppeltes (\") Anführungszeichen';
Ausgabe:
Parse error: syntax error, unexpected ')' in /path/to/your/script/script.php on line 26
Und nun das gleiche Spiel, nur mit doppelten Anführungszeichen.
Test 5:
$string = "Hallo ich verwende ein einfaches (') und ein doppeltes (") Anführungszeichen";
Ausgabe:
Parse error: syntax error, unexpected ')' in /path/to/your/script/script.php on line 32
Test 6:
$string = "Hallo ich verwende ein einfaches (\') und ein doppeltes (") Anführungszeichen";
Ausgabe:
Parse error: syntax error, unexpected ')' in /path/to/your/script/script.php on line 38
Test 7:
$string = "Hallo ich verwende ein einfaches (') und ein doppeltes (\") Anführungszeichen";
echo $string;
Ausgabe:
Hallo ich verwende ein einfaches (') und ein doppeltes (") Anführungszeichen
Test 8:
$string = "Hallo ich verwende ein einfaches (\') und ein doppeltes (\") Anführungszeichen";
echo $string;
Ausgabe:
Hallo ich verwende ein einfaches (\') und ein doppeltes (") Anführungszeichen
Bitte erst das Gelesene verinnerlichen! Und erst wenn Du dir sicher bist, es verstanden
zu haben weiter lesen