Escapování znaků v řetězci v PHP

   06. 07. 2020

Escapování slouží pro zápis znaků, které mají v různém kontextu různý význam.

Například chceme do řetězce obalený uvozovkami vložit další uvozovku. Jak na to?

Existují 2 možnosti:

echo "Džíny Levi's"; // Kombinace typů uvozovek

echo 'Džíny Levi\'s'; // Escapování zpětným lomítkem

Escapování je důležité provádět také při výpisu proměnných do HTML šablony, kde může být obsah řetězce v jiném kontextu a znamenat něco speciálního.

Proto například při výpisu HTML kódu (který máme v proměnné) musíme výpis ošetřit, jinak by se HTML kód spustil.

Například:

$message = 'Ahoj <b>Tomáši!</b>';

echo $message; // Špatně!

echo htmlspecialchars($message); // Správně :)

Problematika escapování je velmi složitá a doporučuji přečíst článek Escapování - definitivní příručka od Davida Grudla.

Nechte si posílat nové články do mailu:

Jan Barášek     Více o autorovi

Autor článku podniká jako fullstack senior developer v Praze. Spravuje 300 různě velkých webových projektů, fungujících dodnes. Během spolupráce nabral hluboké zkušenosti, které na tomto webu předává dál.

Rád vám pomůžu:

Kontakt Konzultace a služby Nabídka spolupráce