addcslashes

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( ) .