Personalisatie functies: textformat

Textformat is een functie die toegepast kan worden op blokken tekst om deze te formatteren. Het verwijdert vooral spaties, speciale karakters en formatteert paragrafen door te wrappen en indentatie toe te voegen.

Parameters

Het is mogelijk om een preset stijl te gebruiken (op het moment is alleen "email" beschikbaar), maar je kunt met de parameters ook zelf een stijl configureren.

Variabele naam Omschrijving
style Preset stijl
indent Aantal karakters voor indentatie
indent_first Aantal karakters voor indentatie eerste regel
indent_char Character/string voor indentatie
wrap Aantal karakters om regel naar te wrappen
wrap_char Karakter om een regel mee af te sluiten
wrap_cut Wrap wel/niet op exact character ipv woord einde
assign Variabele om output aan toe te kennen

In het standaard geval wordt er geen indentatie gebruikt, maar een enkele spatie is wel de standaard voor indent_char. Elke regel wordt naar 80 karakters gewrapt en op de grens van het woord gewrapt. Elke regel wordt afgesloten met een line break "/n".

Voorbeeld

Er volgt nu een simpel voorbeeld uit de Smarty documentation:

{textformat wrap=40}

This is foo. This is foo. This is foo. This is foo.

This is bar.

bar foo bar foo foo. bar foo bar foo foo.

{/textformat}

Van deze code krijgen we de volgende output:

This is foo. This is foo. This is foo.
This is foo.

This is bar.

bar foo bar foo foo. bar foo bar foo
foo.

Maar dit bericht kan er ook heel anders uitzien:

{textformat wrap=20 indent=5 indent_char="*" wrap_cut=TRUE}

This is foo.
This is foo.
This is foo.
This is foo.

This is bar.

bar foo bar foo     foo.
bar foo bar foo     foo.

{/textformat}

De output van deze code is het volgende:

*****This is foo. Th
*****is is foo. This 
*****is foo. This is 
*****foo.

*****This is bar.

*****bar foo bar foo
*****foo. bar foo ba
*****r foo foo.

Hoewel dit niet de mooiste manier is om te formatteren geeft het wel een indruk van hoeveel er mogelijk is in het formatteren van je tekst met deze functie.