Escape și unescape pentru HTML, JS, JSON, SQL
Pregătește un text ca să stea într-o pagină HTML, într-un șir de cod sau într-o interogare SQL, sau scoate escape-urile dintr-unul.
Ce face fiecare format
HTML înlocuiește & < > " ' cu & < > " ', ca textul să apară exact așa în pagină, nu să fie citit ca etichete; la unescape recunoaște toate entitățile, cu nume (é) sau cu număr (ş). XML face la fel, cu cele cinci entități ale XML-ului (' pentru apostrof).
JavaScript și JSON scriu ghilimelele, backslash-ul, trecerile la rând nou și caracterele de control ca secvențe \", \\, \n. JSON e mai strict: nu are \' sau \x41, iar unescape-ul îi refuză. SQL dublează apostroful (L''Oréal), cum se scrie un apostrof într-un șir SQL. \u… scrie orice caracter din afara ASCII ca \u0219, util pentru fișiere care acceptă doar ASCII.
SQL și siguranța
Dublarea apostrofului e bună pentru un script scris de mână. În codul unei aplicații, valorile de la utilizatori se trimit ca parametri ai interogării (prepared statements), nu lipite în textul SQL: așa nu mai contează ce caractere conțin.
Textul tău rămâne la tine
Totul se face în browserul tău: textul nu e trimis nicăieri.
Întrebări frecvente
De ce „ș” rămâne „ș” la escape HTML?
Pentru că o pagină în UTF-8 îl afișează corect așa cum e. Escape-ul HTML schimbă doar caracterele care au rol în HTML; dacă ai nevoie de coduri pentru orice caracter din afara ASCII, alege \u….
Unde scot escape-urile dintr-o adresă web?
În URL encode / decode: adresele folosesc alt sistem, cu „%” și două cifre hexazecimale.