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.