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.

Példa 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.