HTML tagy ve výpisu flashMessage + escapování

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
AlesMenzel
Člen | 13
+
0
-

Ahoj, řeším výpis html tagů v šabloně. Vyzkoušel jsem navrhované způsoby (noescape a escape|noescape), ale problém je v tom, když bude $entry['email] například JS kód, tak se normálně provede (což je nežádoucí). Existuje v nette způsob jak escapovat již data, která posílám do šablony (něco jako html_special_chars() / mysqli_escape_string()) ?

Cíl: Ve flashMessage zvýraznit některou část textu (viz. kod):

<?php
	$this->flashMessage(
		sprintf(
			_('User with email %s is already registered.'),
			Html::el()->setHtml('<strong>' . $entry['email'] . '</strong>')
		)
	);
?>

latte šablona

<?php
	{$flash->message}
?>
David Matějka
Moderator | 6445
+
+11
-

Zrovna predevcirem o tom povidal na phplive @spaze :)

$this->flashMessage(
	Html::el()
	->add('User with email ')
	->add(Html::el('strong')->setText($entry['email']))
	->add(' is already registered.')
);

dulezity je to setText, ktere v podstate akorat aplikuje htmlspecialchars

AlesMenzel
Člen | 13
+
0
-

Děkuju, to je přesně co jsem potřeboval. +1