Ce face addslashes / stripslashes
addslashes adaugă \ înaintea caracterelor ', ", \ și a caracterului NUL. stripslashes elimină aceste bare și readuce textul la forma inițială.
Le întâlnești în cod vechi sau la date venite cu bare în plus. Pentru interogări SQL nu sunt o protecție suficientă: folosește interogări pregătite (PDO prepare).
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul prelucrat. |
Ce returnează
Textul cu bare inverse adăugate (respectiv eliminate, la stripslashes).
Exemple
Exemplul 1: Adăugarea și eliminarea barelor
<?php
$nume = "Restaurantul \"La Ion\" din Iași";
$protejat = addslashes($nume);
echo $protejat . "\n";
echo stripslashes($protejat);
Rezultat
Restaurantul \"La Ion\" din Iași
Restaurantul "La Ion" din Iași
Exemplul 2: Curățarea unui text cu bare în plus
<?php
$primit = "O\\'Brien a scris: \\\"Salut\\\"";
echo stripslashes($primit);
Rezultat
O'Brien a scris: "Salut"
Greșeli frecvente
- Construiești interogări SQL cu
addslashes. Nu protejează în toate cazurile (de exemplu la anumite codări). Folosește interogări pregătite cu parametri. - Aplici
stripslashespe un text care nu avea bare adăugate și pierzi barele inverse reale, de exemplu dintr-o cale Windows.
Comenzi înrudite
htmlspecialchars: Transformă caracterele speciale HTML în entități, ca textul să fie afișat în siguranță în pagină.str_replace: Înlocuiește toate aparițiile unui text cu alt text.preg_quote: Pune o bară inversă înaintea caracterelor speciale, ca un text să poată fi folosit în siguranță într-o expresie regulată.