Forum und email

addcslashes

(PHP 4, PHP 5)

addcslashes — Παράθεση του string με slashes σε στυλ όμοιο με της C

Περιγραφή

string addcslashes ( string $str , string $charlist )

Επιστρέφει ένα string με backslashes πριν τους χαρακτήρες που αναφέρονται στην παράμετρο charlist . Κάνει escape τους \n, \r κλπ., σε ένα όμοιο με τη C στυλ, χαρακτήρες με κώδικα ASCII μικρότερο του 32 και μεγαλύτερο του 126 μετατρέπονται σε οκταδική αναπαράσταση.

Να είστε προσεκτικοί εάν θέλετε να κάνετε escape τους χαρακτήρες 0, a, b, f, n, r, t και v. Θα μετατραπούν στους \0, \a, \b, \f, \n, \r, \t και \v. Στην PHP οι \0 (NULL), \r (carriage return), \n (νέα γραμμή) και \t (tab) είναι προκαθορισμένες escape sequences, ενώ στη C και οι υπόλοιποι είναι προκαθορισμένες escape sequences.

Εάν η παράμετρος charlist είναι "\0..\37", τότε θα γίνουν escaped όλοι οι χαρακτήρες που έχουν κώδικα ASCII από 0 έως 31.

Example#1 Παράδειγμα χρήσης της addcslashes()

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

Πριν καθορίσετε μία ακολουθία από χαρακτήρες στο όρισμα charlist, βεβαιωθείτε ότι ξέρετε τους χαρακτήρες που υπάρχουν μεταξύ αυτών που έχετε ορίσει ως αρχή και τέλος του πεδίου.

<?php
echo addcslashes('foo[ ]''A..z');
// output:  \f\o\o\[ \]
// All upper and lower-case letters will be escaped
// ... but so will the [\]^_` and any tabs, line
// feeds, carriage returns, etc.
?>
Επίσης, εάν ο πρώτος χαρακτήρας του πεδίου έχει μικρότερη τιμή ASCII από τον επόμενο, δεν πρόκειται να δημιουργηθεί κάποιο πεδίο. Οι μόνοι χαρακτήρες που θα γίνουν escaped είναι αυτοί της αρχής, του τέλους και η τελεία. Χρησιμοποιείστε τη συνάρτηση ord() για να εντοπίσετε την τιμή ASCII ενός χαρακτήρα.
<?php
echo addcslashes("zoo['.']"'z..A');
// output:  \zoo['\.']
?>

Ανατρέξτε επίσης στις: stripcslashes(), stripslashes(), htmlspecialchars(), και quotemeta().