addcslashes

(PHP 4, PHP 5)

addcslashes -- Stellt bestimmten Zeichen eines Strings ein "\" voran (wie in C)

Beschreibung

string addcslashes ( string str, string charlist )

Gibt eine Zeichenkette zurück, in der allen Zeichen, die in charlist aufgeführt sind, ein "\" vorangestellt ist. \n, \r etc. werden im C-Stil escaped, Zeichen mit einem ASCII-Wert kleiner als 32 oder höher als 126 werden in ihren Oktalwert umgewandelt.

Seien Sie besonders vorsichtig, wenn Sie Zeichen wie 0, a, b, f, n, r t oder v escapen möchten. Sie werden zu \0, \a, \b, \f, \n, \r, \t oder \v gewandelt. In PHP sind \0 (NULL), \r (Wagenrücklauf), \n (Neue Zeile) und \t (Tabulator) vordefinierte Escape-Sequenzen, während in C alle der genannten Zeichen vordefinierte Escape-Sequenzen sind.

charlist-Angaben wie "\0..\37" (oktal) bewirken ein Escapen aller Zeichen mit einem ASCII-Code zwischen 0 und 31 (dezimal).

Beispiel 1. addcslashes() Beispiel

<?php
$escaped
= addcslashes($nicht_escaped, "\0..\37!@\177..\377");
?>

Wenn Sie eine Zeichensequenz im charlist-Parameter notieren, informieren Sie sich darüber, welche Zeichen sich zwischen dem ersten und dem letzten Zeichen befinden!

<?php
echo addcslashes('foo[ ]', 'A..z');
// Ausgabe:  \f\o\o\[ \]
// Alle groß- und kleingeschriebenen Buchstaben werden escaped
// ... aber ebenfalls die Zeichen [\]^_` sowie die Tabulatoren, Zeilenwechsel
// Wagenvorlauf-Zeichen etc.
?>

Beachten Sie zudem, dass sofern das erste Zeichen einer Sequenz einen höheren ASCII-Wert hat als das zweite, keine Sequenz erstellt wird. Nur das erste und das letzte Zeichen sowie Punkte werden dann escaped. Verwenden Sie die Funktion ord(), um den ASCII-Wert eines Zeichens zu ermitteln.

<?php
echo addcslashes("zoo['.']", 'z..A');
// Ausgabe:  \zoo['\.']
?>

Siehe auch stripcslashes(), stripslashes(), htmlspecialchars() und quotemeta().

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:57:12