Forum und email

addcslashes

(PHP 4, PHP 5)

addcslashes — Speciális karakterek levédése visszaperjelekkel C-stílusban

Leírás

string addcslashes ( string $str , string $charlist )

Egy stringet ad vissza, amelybe visszaperjeleket szúr be a charlist paraméterben szereplő karakterek elé. A \n, \r, stb. karaktereket is levédi C-stílusban, azokra a karakterekre, amelyeknek kódja kisebb mint 32 vagy nagyobb mint 126, az oktális reprezentációt alkalmazza.

Vigyázz a 0, a, b, f, n, r, t és v karakterekkel, ezeket \0, \a, \b, \f, \n, \r, \t és \v formába alakítja. A PHP-ben a \0 (NULL), a \r (kocsivissza), \n (újsor) és a \t (tab) az előredefiniált escape szekvenciák, C-ben viszont a fentiek mindegyike előredefiniált escape szekvencia.

A charlist paraméter lehet például "\0..\37", amelynek hatására minden 0 és 31 közé eső kódú karaktert levéd.

Example#1 addcslashes() példa

<?php
$levedett 
addcslashes($eredeti"\0..\37!@\177..\377");
?>

Amikor átadsz egy karaktertartományt charlist paraméterként győződj meg arról, hogy tudod milyen karakterek esnek a tartomány határaiként megadott karakterek közé.

<?php
echo addcslashes('ize[ ]''A..z');
// kimenet:  \i\z\e\[ \]
// Minden nagy- és kisbetű le lesz védeve 
// ... viszont a [\]^_` karakterek is valamint a tabok, 
// soremelések és kicsivissza karakterek, stb.
?>
Ha a tartományt defináló első karakter nagyobb ASCII kóddal rendelkezik mint az utolsó karakter, akkor a tartomány üres lesz. Csak az első, az utolsó karakter valamint a pont karakter lesz levédve. Az ord() függvény segítségével megtudhatod a karakterek ASCII kódját.
<?php
echo addcslashes("zoo['.']"'z..A');
// kimenet:  \zoo['\.']
?>

Lásd még a stripcslashes(), stripslashes(), htmlspecialchars(), és quotemeta() függvényeket.