Oznámení

Provoz fóra byl ukončen

Nesprávná práce s escapovaným řetězcem v HTML tazích

před 11 lety

honza martinek
Člen | 22

Texy správně pracuje s escapovaným i unescapovaným (xslashes) řetězcem v rámci vlastní syntaxe, ale v rámci html kódu dělá chyby – např. vynechává obsahy atributů. Když string (přenesený POSTem, aby se projevily magic quotes) před zpracováním ostripslashuju, tak to funguje OK. Problém se projevuje jak v HTML v texy kódu, tak v HTML bloku.

Magic_quotes_gpc = On, Texy 2beta, revize 221 (včerejší).

Editoval honza martinek (5. 10. 2008 12:57)

před 11 lety

David Grudl
Nette Core | 6806

Ze vstupu je nutné vždy manuálně odstranit escapování. Texy přece nemůže vědět, jestli převáděný text pochází z odeslaného formuláře, nebo naopak z datábáze nebo souboru na disku.

před 11 lety

honza martinek
Člen | 22

V tom případě OK – vzhledem k tomu, že ve své syntaxi Texy běhá bez problémů i s escapovanými řetězci, předpokládal jsem, že je tam nějaké jednoduché rozpoznávání. Díky za rychlou reakci.

před 11 lety

David Grudl
Nette Core | 6806

S escapovanými řetězci to bez problémů neběhá – viz třeba právě ty atributy HTML značek, chyb může být mnohem víc. Escapování je nutné provést před tranformací, nikoliv až po. To nakonec platí pro jakoukoliv funkci pracující s řetězci, ať už je to strlen() nebo $texy->process().