Lecția 45 - Funcția htmlspecialchars - converti caractere speciale într-un HTML-entitati - gratuit
Bazele PHP
Funcția htmlspecialchars - a efectua un loc de muncă foarte important, convertește caractere speciale în HTML-entitate.
Că, în general, cum ar HTML-entitate? Aceste caractere speciale, cum ar fi: <> "„Și t. D.
De ce ar trebui să le converti? Să ne uităm la un exemplu. Ai o carte de oaspeți, în care orice utilizator poate lăsa un mesaj. Și ce se va întâmpla dacă nu a lăsat doar o înregistrare, și care fie un script sau un cod special de hacking? Site-ul dvs. va fi rasfatata. Poate că nu va fi compromisă, dar va fi sută la sută deteriorat. Duck este sensul acestei funcții toate script-urile converti inoperabil.
ENT_COMPAT - Transformă ghilimele duble, ghilimele simple nu sunt modificate.
ENT_QUOTES - Convertește atât ghilimele duble și single.
ENT_NOQUOTES - rămân neschimbate atât ghilimele duble și single.
ENT_IGNORE - decarteaza Tăcere secvențe de cod incorecte în loc de a se întoarce un șir gol. Această caracteristică este prevăzută pentru compatibilitate inversă, evitați utilizarea acestuia, deoarece se poate face o vulnerabilitate în codul.
ENT_SUBSTITUTE - Înlocuiesc nekorretknye secvențe de cod caracter Unicode înlocuire U + FFFD atunci când se utilizează UTF-8 și #FFFD; atunci când se utilizează alte codificări, în loc de a se întoarce un șir gol.
ENT_DISALLOWED - Înlocuiește secvențele de cod care nu se potrivesc cu tipul specificat de înlocuire hârtie caracter Unicode U + FFFD atunci când se utilizează UTF-8 și #FFFD; atunci când se utilizează alte codificări.
ENT_HTML401 - prelucrare cod în conformitate cu HTML 4.01.
ENT_XML1 - prelucrare cod în conformitate cu XML 1.
ENT_XHTML - prelucrare cod, în conformitate cu XHTML.
ENT_HTML5 - prelucrare cod în conformitate cu HTML 5.
Punctul important. În cazul în care nu este specificat, implicit va ENT_COMPAT
ENT_IGNORE - functioneaza din PHP 5.3
ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML și ENT_HTML5 - Administrat de php 5.4
Practic, toate serverele ar trebui să PHP 5.2 5.3 nămol. dar faptul că a introdus mai târziu cu greu nevoie de ea.
Luați în considerare exemplul funcției:
Rețineți că browser-ul va genera:
Și dacă te uiți la pagina HTML-cod, veți vedea:
În cazul în care, fără funcție afișează o legătură normală. Puteți încerca.
O altă caracteristică importantă funcționează cu punct:
- (Ampersand) devine '-'
- „(Citat dublu) devine«»în ENT_NOQUOTES nu este setat modul.
- „(Citat unic) devine“ # „“ ENT_QUOTES numai modul.
- <(знак "меньше чем") преобразуется в '<'
- > (Un semn al unei „mai mare decât“) devine „>“
Dacă aveți nevoie pentru a converti toate efectul posibil, este necesar să se utilizeze htmlentities) funcția (. Pe acesta va fi discutat în lecția următoare.