Forum und email
addcslashes

addcslashes

(PHP 4, PHP 5)

addcslashes -- Opatřit řetězec lomítky ve stylu jazyka C

Popis

string addcslashes ( string str, string charlist )

Vrací řetězec se zpětnými lomítky před znaky, které jsou vypsány v parametru charlist. Dále doplní \n, \r atd. podobně jako v jazyce C, znaky s ASCII kódem nižším než 32 a vyšším než 126 se převedou na osmičkovou reprezentaci.

Pokud zvolíte oescapovat znaky 0, a, b, f, n, r, t a v, budou konvertovány na \0, \a, \b, \f, \n, \r, \t a \v. V PHP \0 (NULL), \r (carriage return), \n (nový řádek) a \t (tab) jsou předdefinované escape sekvence, while in C all of these are predefined escape sequences.

V charlist můžete udat rozsah, např. "\0..\37", což by escapovalo všechny znaky s ASCII kódem mezi 0 a 31.

Příklad 1. Ukázka addcslashes()

$escaped = addcslashes ($not_escaped, "\0..\37!@\177..\377");

Pakliže uvádíte sekvenci znaků v parametru charlist ujistěte se, že víte které další znaky jdou mezi znaky, jež jsou uvedeny na začátku a na konci rozsahu.

echo addcslashes('foo[ ]', 'A..z');
// Výstup:  \f\o\o\[ \]
// Všechny velké i malé znaky budou escapovány
// ... but so will the [\]^_` and any tabs, line
// feeds, carriage returns, etc.

Také pokud první znak v rozsahu má nižší ASCII hodnotu než druhý znak v rozsahu, nebude žádný rozsah vytvořen. Pouze znkay začáteční, koncové a v periodě budou escapovány. Použijte funkci ord() k zjištění ASCII hodnoty znaků.

echo addcslashes("zoo['.']", 'z..A');
// Výstup:  \zoo['\.']

Viz také: stripcslashes(), stripslashes(), htmlspecialchars(), htmlspecialchars() a quotemeta().