Vynechávanie znakov v reťazci v jazyku PHP
Escaping sa používa na písanie znakov, ktoré majú v rôznych kontextoch rôzny význam.
Napríklad chceme do reťazca uzavretého úvodzovkami vložiť ďalšiu úvodzovku. Ako na to?
K dispozícii sú 2 možnosti:
php
echo "Džínsy Levi's"; // Kombinácia typov úvodzoviekecho 'Džínsy značky Levi'; // Spätné lomítko uniká
Escapovanie je dôležité aj pri zápise premenných do šablóny HTML, kde sa obsah reťazca môže nachádzať v inom kontexte a môže znamenať niečo špeciálne.
Preto napríklad pri výpise HTML kódu (ktorý máme v premennej) musíme ošetriť výpis, inak sa HTML kód spustí.
Napríklad:
php
$message = 'Ahoj <b>Tommy!</b>';echo $message; // Omyl!echo htmlspecialchars($message); // Správne :)
Problematika útekov je veľmi zložitá a odporúčam prečítať si článok Escaping - The Definitive Guide od Davida Grudela.