Speciale tekens converteren naar een html entiteit in een Smarty view

In Smarty kan je speciale tekens escapen :

{$model_article->text|escape:'html'}    {* escapes  & " ' < > *}
{$model_article->text|escape:'htmlall'} {* escapes ALL html entities *}

Dit zijn in feite de PHP functies htmlspecialchars (convert special characters to HTML entities) en htmlentities (convert all applicable characters to HTML entities).

De functie char2htmlentity is gelijk aan htmlspecialchars, echter zijn met parameters te bepalen welke speciale tekens vertaald moeten worden.

De php functie htmlspecialchars heeft slechts een parameter voor 'single'- of 'double quote', nu wordt het ook mogelijk om 'ampersand', 'less then' of 'greater then' wel of niet te converteren.

We creƫren een smarty modifier genaamd char2htmlentity (function.char2htmlentity.php), en plaatsen deze in de map smarty_plugins.

In de Smarty view :

{char2htmlentity t=$model_article->text ENT_AMP=true}