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

26. 11. 2019

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:

php
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:

php
$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.

Jan Barášek
Jan BarášekVíce o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

AI konzultace & implementace

Pomohu vám zavést AI do vašeho projektu – od analýzy a návrhu řešení až po nasazení do produkce. Ušetřete čas, zjednodušte procesy a získejte konkurenční výhodu.

Domluvit konzultaci
Konzultant: Jan Barášek
Potřebujete poradit s PHP?

Nabízím trénink vývojářů, konzultace, školení a analýzu návrhových vzorů. Osobně v Praze nebo online.

Napište mi

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.