Vypsání   jako mezery bez použítí noescape

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

Zdravím,

mám nějaký řetězec kde jsou slova odděleny mezerami. Někde, ale potřebuju použít pevné mezery tzn. &nbsp.

Když pak vypíšu proměnou v šabloně, tak se enitita mezery „&nbsp“ nepřevede na mezeru a vypíše se v celé své kráse tzn. „&nbsp“.

Zatím jsem teda použil noescape

{$myString|noescape}

Samozřejmě nechci používat |noescape tak jsem zkoušel jestli to nějak nepůjde vyřešit pomocí Nette\Utils\Html, ale všechny moje pokusy byly marné.

Je nějak možné slepit řetězec tak aby se celý řetězec escapoval kromě entit „&nbsp“ ?

předem děkuju za odpověď

Editoval ondrej256 (29. 7. 2016 12:37)

Jan Tvrdík
Nette guru | 2595
+
+7
-

@ondrej256 Místo entit použij přímo ten znak, tj. v PHP sekvenci "\xC2\xA0". Pro větší čitelnost to můžeš zapsat třeba jako

$nbsp = html_entity_decode(' ');
$str = "Hello{$nbsp}World!";
ondrej256
Člen | 187
+
+1
-

Super funguje, dík