ZAČÁTKYNÁVODYOOPDOKUMENTACE
Návody/
Zpracování řetězců

Speciální řídící znaky v PHP

24. 11. 2021

Obsah článku

V PHP řetězcích mohou být obsaženy speciální řídící znaky, které mají v určitém kontextu různý význam a nechovají se nutně jako obyčejné znaky.

Řadu z nich budete již intuitivně znát. Některé jsou vyhrazeny pro speciální použití a jiné třeba pro znaky na klávesnici.

Zápis speciálních znaků

Speciální znaky se zapisují do dvojitých uvozovek.

Stačí tedy velmi jednoduše:

$message = "Hello\nworld.";

Předchozí kód obsahuje zalomení řádku mezi slovem Hello a world.

Tabulka speciálních znaků

Pokud je řetězec uzavřen ve dvojitých uvozovkách ("), bude PHP interpretovat následující escape sekvence jako speciální znaky:

Sekvence Význam
\n linefeed (LF nebo 0x0A (10) v ASCII)
\r carriage return (CR nebo 0x0D (13) v ASCII)
\t horizontal tab (HT nebo 0x09 (9) v ASCII)
\v vertical tab (VT nebo 0x0B (11) v ASCII)
\e escape (ESC nebo 0x1B (27) v ASCII)
\f form feed (FF nebo 0x0C (12) v ASCII)
\\ backslash
\$ dollar sign (znak dolaru)
\" double-quote (dvojitá uvozovka)
\[0-7]{1,3} posloupnost znaků odpovídající regulárnímu výrazu je znak v osmičkové notaci, který se v tichosti přeteče do bajtu. (např. "\400" === "\000")
\x[0-9A-Fa-f]{1,2} posloupnost znaků odpovídající regulárnímu výrazu je znak v hexadecimálním zápisu.
\u{[0-9A-Fa-f]+} posloupnost znaků vyhovující regulárnímu výrazu je kódový bod Unicode, který bude vypsán do řetězce jako reprezentace tohoto kódového bodu v UTF-8.

Stejně jako u řetězců s jednoduchými uvozovkami se při escapování jakéhokoli jiného znaku vypíše i zpětné lomítko.

Při ohraničení řetězců pomocí uvozovek nezapomeňte na fakt, že obsažené proměnné budou expandovány (vypsány hodnoty proměnných přímo do řetězce). Toto chování může být extrémně nebezpečné.

Jan Barášek   Ví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:

Související články

1.
6.

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, pokud si nevíte rady.

Lektor: Jan Barášek