Latte szűrők
A szűrők olyan függvények, amelyek megváltoztatják vagy formázzák az adatokat a kívánt formára. Ez az összefoglaló a rendelkezésre álló beépített szűrőkről.
capitalize |
kisbetűs, minden szó első betűje nagybetűs |
firstUpper |
az első betűt nagybetűvé teszi |
lower |
a karakterláncot kisbetűvé teszi |
upper |
nagybetűvé teszi a karakterláncot |
ceil |
kerekít egy számot egy adott pontosságig |
floor |
Egy számot adott pontosságra kerekít lefelé |
round |
kerekít egy számot adott pontosságra |
escapeUrl |
az URL-ben szereplő paramétert elrejti |
noescape |
változó nyomtatása szaggatás nélkül |
query |
lekérdezési karakterláncot generál az URL-ben |
A HTML (escapeHtml
és escapeHtmlComment
), XML (escapeXml
), JavaScript
(escapeJs
), CSS (escapeCss
) és iCalendar (escapeICal
) számára is vannak escaping
szűrők, amelyeket a Latte a kontextustudatos
escapingnek köszönhetően maga használ, és nem kell megírni őket.
checkUrl |
szanálja a href attribútumon belül használt karakterláncot |
nocheck |
megakadályozza az automatikus URL-szanálást |
A src
és a href
attribútumokat automatikusan ellenőrzi, így a checkUrl
szűrőt szinte nem is kell használni.
Minden beépített szűrő UTF-8 kódolású karakterláncokkal működik.
Használat
A Latte lehetővé teszi a szűrők hívását a pipajel jelölés használatával (az előző szóköz megengedett):
<h1>{$heading|upper}</h1>
A szűrők láncolhatók, ebben az esetben balról jobbra haladva alkalmazandók:
<h1>{$heading|lower|capitalize}</h1>
A paraméterek a szűrő neve után kerülnek, kettősponttal vagy vesszővel elválasztva:
<h1>{$heading|truncate:20,''}</h1>
A szűrők kifejezésekre alkalmazhatók:
{var $name = ($title|upper) . ($subtitle|lower)}</h1>
Egyéni szűrők így regisztrálhatók:
$latte = new Latte\Engine;
$latte->addFilter('shortify', fn(string $s, int $len = 10) => mb_substr($s, 0, $len));
Egy sablonban így használjuk:
<p>{$text|shortify}</p>
<p>{$text|shortify:100}</p>
Szűrők
batch (int length, mixed item): array
Szűrő, amely leegyszerűsíti a lineáris adatok táblázatos formában történő felsorolását. Egy tömb tömböt ad vissza a megadott számú elemmel. Ha megad egy második paramétert, akkor ezt az utolsó sor hiányzó elemeinek kitöltésére használja.
{var $items = ['a', 'b', 'c', 'd', 'e']}
<table>
{foreach ($items|batch: 3, 'No item') as $row}
<tr>
{foreach $row as $column}
<td>{$column}</td>
{/foreach}
</tr>
{/foreach}
</table>
Nyomtatás:
<table>
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
</tr>
<tr>
<td>d</td>
<td>e</td>
<td>No item</td>
</tr>
</table>
Lásd még a group és az iterateWhile címkét.
breakLines
HTML-sorszünetet illeszt be minden újsor előtt.
{var $s = "Text & with \n newline"}
{$s|breakLines} {* kimenetek "Text & with <br>\n newline" *}
bytes (int precision = 2)
A bájtokban megadott méretet ember által olvasható formába formázza. Ha a nyelvi tartomány be van állítva, akkor a megfelelő tizedes és ezres elválasztójeleket használja.
{$size|bytes} 0 B, 1.25 GB, …
{$size|bytes:0} 10 B, 1 GB, …
ceil (int precision = 0)
Egy számot adott pontosságra kerekít.
{=3.4|ceil} {* kimenet 4 *}
{=135.22|ceil:1} {* kimenet 135.3 *}
{=135.22|ceil:3} {* kimenet 135.22 *}
capitalize
Visszaadja az érték címsoros változatát. A szavak nagybetűkkel kezdődnek, az összes többi karakter kisbetűs.
PHP-bővítményt igényel: mbstring
.
{='i like LATTE'|capitalize} {* kimenet 'I Like Latte' *}
Lásd még firstUpper, lower, upper.
checkUrl
Kényszeríti az URL szanálását. Ellenőrzi, hogy a változó tartalmaz-e webes URL-t (azaz HTTP/HTTPS protokollt), és megakadályozza a biztonsági kockázatot jelentő linkek írását.
{var $link = 'javascript:window.close()'}
<a data-href={$link|checkUrl}>checked</a>
<a data-href={$link}>unchecked</a>
Nyomtat:
<a data-href="">checked</a>
<a data-href="javascript:window.close()">unchecked</a>
Lásd mégeck.
clamp (int|float min, int|float max)
A min és max tartományba szorított értéket adja vissza.
{$level|clamp: 0, 255}
Létezik függvényként is.
dataStream (string mimetype = detect)
A tartalmat adat URI-sémává alakítja át. Használható képek HTML- vagy CSS-be való beillesztésére anélkül, hogy külső fájlokat kellene linkelni.
Legyen egy kép egy változóban $img = Image::fromFile('obrazek.gif')
, akkor
<img src={$img|dataStream}>
Kinyomtatja például:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==">
PHP-bővítményt igényel: fileinfo
.
date (string format)
A dátumot és az időt a date PHP-funkció által használt maszknak megfelelően
formázza. A szűrő elfogadja a dátumot UNIX időbélyeg formátumban, sztringként vagy DateTimeInterface
objektumként.
{$today|date:'j. n. Y'}
Lásd még localDate.
escapeUrl
Kikerül egy változót, amelyet URL-ben paraméterként kell használni.
<a href="http://example.com/{$name|escapeUrl}">{$name}</a>
Lásd még query.
explode (string separator =
''
)
Egy karakterláncot a megadott elválasztójel alapján szétválaszt, és karakterláncok tömbjét adja vissza. Alias a
split
számára.
{='one,two,three'|explode:','} {* visszatér ['one', 'two', 'three'] *}
Ha az elválasztó üres karakterlánc (alapértelmezett érték), akkor a bemenet különálló karakterekre lesz felosztva:
{='123'|explode} {* returns ['1', '2', '3'] *}
Használhatja a split
aliast is:
{='1,2,3'|split:','} {* visszatér ['1', '2', '3'] *}
Lásd még: implode.
first
Visszaadja a tömb első elemét vagy a karakterlánc első karakterét:
{=[1, 2, 3, 4]|first} {* kimenet 1 *}
{='abcd'|first} {* kimenet 'a' *}
floor (int precision = 0)
Egy számot adott pontosságra kerekít.
{=3.5|floor} {* outputs 3 *}
{=135.79|floor:1} {* outputs 135.7 *}
{=135.79|floor:3} {* outputs 135.79 *}
firstUpper
Az érték első betűjét nagybetűvé alakítja. PHP-bővítményt igényel mbstring
.
{='the latte'|firstUpper} {* kimenetek 'The latte' *}
Lásd még nagybetű, kisbetű, nagybetű.
group (string|int|\Closure by): array
A szűrő különböző kritériumok szerint csoportosítja az adatokat.
Ebben a példában a táblázat sorai a categoryId
oszlop alapján vannak csoportosítva. A kimenet egy tömb
tömbökből álló tömb, ahol a kulcs a categoryId
oszlopban szereplő érték. Olvassa el a részletes utasításokat.
{foreach ($items|group: categoryId) as $categoryId => $categoryItems}
<ul>
{foreach $categoryItems as $item}
<li>{$item->name}</li>
{/foreach}
</ul>
{/foreach}
Lásd még a batch, a group függvény és az iterateWhile tag.
implode (string glue = ''
)
Visszaad egy stringet, amely a tömbben lévő stringek összevonása. Alias a következőhöz: join
.
{=[1, 2, 3]|implode} {* outputs '123' *}
{=[1, 2, 3]|implode:'|'} {* outputs '1|2|3' *}
A join
alias is használható:
{=[1, 2, 3]|join} {* outputs '123' *}
indent (int level = 1, string char =
"\t"
)
A szöveg balról történő behúzása egy adott számú tabulátorral vagy más karakterrel, amelyet a második választható argumentumban adunk meg. Az üres sorok nem kerülnek behúzásra.
<div>
{block |indent}
<p>Hello</p>
{/block}
</div>
Nyomtatás:
<div>
<p>Hello</p>
</div>
last
Visszaadja a tömb utolsó elemét vagy a karakterlánc utolsó karakterét:
{=[1, 2, 3, 4]|last} {* outputs 4 *}
{='abcd'|last} {* outputs 'd' *}
length
Egy karakterlánc vagy tömb hosszát adja vissza.
- a stringek esetében UTF-8 karakterekben adja vissza a hosszúságot.
- tömbök esetén az elemek számát adja vissza.
- a Countable interfészt megvalósító objektumok esetében a count() visszatérési értékét használja.
- az IteratorAggregate interfészt megvalósító objektumok esetében az iterator_count() visszatérési értékét használja.
{if ($users|length) > 10}
...
{/if}
localDate (string format = null, string date = null, string time = null)
A dátum és az idő formázása a nyelvterületnek megfelelően,
így biztosítva az időadatok konzisztens és lokalizált megjelenítését a különböző nyelveken és régiókban. A szűrő
a dátumot UNIX időbélyegként, stringként vagy DateTimeInterface
objektumként fogadja el.
{$date|localDate} {* 15. dubna 2024 *}
{$date|format: yM} {* 4/2024 *}
{$date|localDate: date: medium} {* 15. 4. 2024 *}
Ha a szűrőt paraméterek nélkül használja, akkor a dátumot hosszú formátumban adja ki, ahogyan azt a továbbiakban kifejtjük.
a) A formátum használata
A format
paraméter leírja, hogy mely időösszetevőket kell megjeleníteni. Betűkódokat használ, ahol az
ismétlések száma befolyásolja a kimenet szélességét:
Év | y / yy / yyyy |
2024 / 24 / 2024 |
Hónap | M / MM / MMM / MMMM |
8 / 08 / aug. / augusztus |
Nap | d / dd / E / EEEE |
1 / 01 / V / vasárnap |
Hour | j / H / h |
preferred / 24-hour / 12-hour |
Perc | m / mm |
5 / 05 (2 számjegy, ha másodpercekkel kombinálják) |
Másodperc | s / ss |
8 / 08 (2 számjegy, ha percekkel kombinálva) |
A kódok sorrendje a formátumban nem számít, mivel az összetevők sorrendje a helyi konvencióknak megfelelően jelenik
meg. Ezért a formátum helytől független. Például a yyyyMMMMd
formátum a en_US
nyelvjárásban a
April 15, 2024
, míg a cs_CZ
nyelvjárásban a 15. dubna 2024
formátumot adja ki:
locale: | hu-HU | en_US |
---|---|---|
format: 'dMy' |
2024. 08. 10. | 8/10/2024 |
format: 'yM' |
2024. 8. | 8/2024 |
format: 'yyyyMMMM' |
2024. augusztus | August 2024 |
format: 'MMMM' |
augusztus | August |
format: 'jm' |
17:54 | 5:54 PM |
format: 'Hm' |
17:54 | 17:54 |
format: 'hm' |
du. 5:54 | 5:54 PM |
b) Előre beállított stílusok használata
A date
és a time
paraméterek határozzák meg a dátum és az idő megjelenítésének
részletességét. Több szint közül választhat: full
, long
, medium
, short
.
Megjelenítheti csak a dátumot, csak az időt vagy mindkettőt:
locale: | hu-HU | en_US |
---|---|---|
date: short |
1978. 01. 23. | 1/23/78 |
date: medium |
1978. jan. 23. | Jan 23, 1978 |
date: long |
1978. január 23. | January 23, 1978 |
date: full |
1978. január 23., hétfő | Monday, January 23, 1978 |
time: short |
8:30 | 8:30 AM |
time: medium |
8:30:59 | 8:30:59 AM |
time: long |
8:30:59 CET | 8:30:59 AM GMT+1 |
date: short, time: short |
1978. 01. 23. 8:30 | 1/23/78, 8:30 AM |
date: medium, time: short |
1978. jan. 23. 8:30 | Jan 23, 1978, 8:30 AM |
date: long, time: short |
1978. január 23. 8:30 | January 23, 1978 at 8:30 AM |
A dátumhoz használhatja a relative-
előtagot is (pl. relative-short
), amely a jelenhez közeli
dátumok esetében a yesterday
, today
vagy tomorrow
, egyébként a szokásos módon
jelenik meg.
{$date|localDate: date: relative-short} {* yesterday *}
Lásd még dátum.
lower
Egy értéket kisbetűvé alakít. PHP-bővítményt igényel mbstring
.
{='LATTE'|lower} {* outputs 'latte' *}
Lásd még capitalize, firstUpper, upper.
nocheck
Megakadályozza az automatikus URL-szanálást. A Latte automatikusan ellenőrzi, hogy a változó tartalmaz-e webes URL-t (azaz HTTP/HTTPS protokollt), és megakadályozza a biztonsági kockázatot jelentő linkek írását.
Ha a hivatkozás más sémát használ, például javascript:
vagy data:
, és biztos a tartalmában,
akkor a |nocheck
segítségével kikapcsolhatja az ellenőrzést.
{var $link = 'javascript:window.close()'}
<a href={$link}>checked</a>
<a href={$link|nocheck}>unchecked</a>
Nyomtatások:
<a href="">checked</a>
<a href="javascript:window.close()">unchecked</a>
Lásd még checkUrl.
noescape
Letiltja az automatikus escapinget.
{var $trustedHtmlString = '<b>hello</b>'}
Escaped: {$trustedHtmlString}
Unescaped: {$trustedHtmlString|noescape}
Nyomtat:
Escaped: <b>hello</b>
Unescaped: <b>hello</b>
A noescape
szűrő visszaélése XSS sebezhetőséghez vezethet! Soha ne használja, hacsak nem
teljesen biztos abban, hogy mit csinál, és hogy a nyomtatott karakterlánc megbízható forrásból származik.
number (int decimals = 0, string decPoint =
'.'
, string thousandsSep = ','
)
Egy számot a megadott számú tizedesjegyig formáz. Ha a nyelvi terület be van állítva, akkor a megfelelő tizedes és ezres elválasztójeleket használja.
{1234.20 |number} 1,234
{1234.20 |number:1} 1,234.2
{1234.20 |number:2} 1,234.20
{1234.20 |number:2, ',', ' '} 1 234,20
number (string format)
A format
paraméter lehetővé teszi, hogy a számok megjelenését pontosan az Ön igényei szerint határozza
meg. Beállított nyelvterületet igényel. A formátum több
speciális karakterből áll, amelyek teljes leírása a DecimalFormat dokumentációban
található:
- <c id=6/> kötelező számjegy, mindig megjelenik, még akkor is, ha nulla.
#
opcionális számjegy, csak akkor jelenik meg, ha a számnak van számjegye az adott helyen.@
szignifikáns számjegy, segít a számot bizonyos számú szignifikáns számjeggyel megjeleníteni..
a tizedesvessző helyét jelöli (vessző vagy pont, a területi adattól függően).,
számjegycsoportok, általában ezrek elválasztására szolgál.%
megszorozza a számot 100-zal, és hozzáadja a százalékjelet.
Nézzünk néhány példát. Az első példában a két tizedesjegy kötelező, a másodikban opcionális. A harmadik példa mindkét oldalon nullákkal való kitöltést mutat, a negyedik példa pedig csak a meglévő számjegyeket jeleníti meg:
{1234.5|number: '#,##0.00'} {* 1,234.50 *}
{1234.5|number: '#,##0.##'} {* 1,234.5 *}
{1.23 |number: '000.000'} {* 001.230 *}
{1.2 |number: '##.##'} {* 1.2 *}
A szignifikáns számjegyek határozzák meg, hogy a tizedesvesszőtől függetlenül hány számjegyet kell megjeleníteni, szükség esetén kerekítve a számot:
{1234|number: '@@'} {* 1200 *}
{1234|number: '@@@'} {* 1230 *}
{1234|number: '@@@#'} {* 1234 *}
{1.2345|number: '@@@'} {* 1.23 *}
{0.00123|number: '@@'} {* 0.0012 *}
Egy szám százalékban történő megjelenítésének egyszerű módja. A számot megszorozzuk 100-zal, és hozzáadjuk a
%
jelet:
{0.1234|number: '#.##%'} {* 12.34% *}
A pozitív és negatív számok számára eltérő formátumot határozhatunk meg, amelyet egy ;
karakterrel
választunk el. Így például a pozitív számok a +
jellel jeleníthetők meg:
{42|number: '#.##;(#.##)'} {* 42 *}
{-42|number: '#.##;(#.##)'} {* (42) *}
{42|number: '+#.##;-#.##'} {* +42 *}
{-42|number: '+#.##;-#.##'} {* -42 *}
Ne feledje, hogy a számok tényleges megjelenése a helyi beállításoktól függően változhat. Egyes országokban például pont helyett vesszőt használnak tizedesválasztóként. Ez a szűrő automatikusan figyelembe veszi ezt, így nem kell aggódnia emiatt.
padLeft (int length, string pad =
' '
)
Egy adott hosszúságú karakterláncot balról egy másik karakterlánccal kitölti.
{='hello'|padLeft: 10, '123'} {* outputs '12312hello' *}
padRight (int length, string pad =
' '
)
Egy adott hosszúságú karakterláncot egy másik, jobbról jövő karakterlánccal kitölti.
{='hello'|padRight: 10, '123'} {* outputs 'hello12312' *}
query
Dinamikusan generál egy lekérdezési karakterláncot az URL-ben:
<a href="http://example.com/?{[name: 'John Doe', age: 43]|query}">click</a>
<a href="http://example.com/?search={$search|query}">search</a>
Nyomtat:
<a href="http://example.com/?name=John+Doe&age=43">click</a>
<a href="http://example.com/?search=Foo+Bar">search</a>
A null
értékű kulcsok nem szerepelnek.
Lásd még escapeUrl.
random
Visszaadja a tömb véletlenszerű elemét vagy a karakterlánc karakterét:
{=[1, 2, 3, 4]|random} {* example output: 3 *}
{='abcd'|random} {* example output: 'b' *}
repeat (int count)
Megismétli a karakterláncot x-szer.
{='hello'|repeat: 3} {* outputs 'hellohellohello' *}
replace (string|array search, string replace =
''
)
A keresett karakterlánc minden előfordulását helyettesítő karakterlánccal helyettesíti.
{='hello world'|replace: 'world', 'friend'} {* outputs 'hello friend' *}
Egyszerre több csere is elvégezhető:
{='hello world'|replace: [h => l, l => h]} {* outputs 'lehho worhd' *}
replaceRE (string pattern, string replace =
''
)
Az összes előfordulást helyettesíti a reguláris kifejezésnek megfelelően.
{='hello world'|replaceRE: '/l.*/', 'l'} {* outputs 'hel' *}
reverse
Megfordítja a megadott karakterláncot vagy tömböt.
{var $s = 'Nette'}
{$s|reverse} {* outputs 'etteN' *}
{var $a = ['N', 'e', 't', 't', 'e']}
{$a|reverse} {* returns ['e', 't', 't', 'e', 'N'] *}
round (int precision = 0)
Egy számot adott pontosságra kerekít.
{=3.4|round} {* outputs 3 *}
{=3.5|round} {* outputs 4 *}
{=135.79|round:1} {* outputs 135.8 *}
{=135.79|round:3} {* outputs 135.79 *}
slice (int start, int length = null, bool preserveKeys = false)
Egy tömb vagy egy karakterlánc egy szeletének kivonása.
{='hello'|slice: 1, 2} {* outputs 'el' *}
{=['a', 'b', 'c']|slice: 1, 2} {* outputs ['b', 'c'] *}
A slice-szűrő a array_slice
PHP-funkcióként működik tömbök esetében, a mb_substr
pedig
karakterláncok esetében, UTF-8 módban a iconv_substr
-re való visszalépéssel.
Ha a kezdet nem negatív, akkor a szekvencia a változóban ezzel a kezdőponttal kezdődik. Ha a start negatív, akkor a szekvencia a változó végétől ilyen messze kezdődik.
Ha a length értéke pozitív, akkor a szekvencia legfeljebb ennyi elemet tartalmaz. Ha a változó rövidebb, mint a hossz, akkor csak a rendelkezésre álló változóelemek lesznek jelen. Ha a hossz meg van adva és negatív, akkor a sorozat ennyi elemmel a változó vége előtt fog megállni. Ha nem adjuk meg, akkor a szekvencia az eltolódástól a változó végéig mindent tartalmazni fog.
A Filter alapértelmezés szerint átrendezi és visszaállítja az integer tömb kulcsát. Ez a viselkedés megváltoztatható a preserveKeys true értékre állításával. A string kulcsok ettől a paramétertől függetlenül mindig megmaradnak.
sort (?Closure comparison, string|int|\Closure|null by=null, string|int|\Closure|bool byKey=false)
A szűrő egy tömb vagy iterátor elemeit rendezi, miközben megőrzi az asszociatív kulcsokat. Ha egy területi beállítás van megadva, a rendezés annak szabályait követi, kivéve, ha egyéni összehasonlító függvény van megadva.
{foreach ($names|sort) as $name}
...
{/foreach}
A tömb fordított sorrendbe rendezve.
{foreach ($names|sort|reverse) as $name}
...
{/foreach}
Megadhat egy egyéni összehasonlító függvényt a rendezéshez (a példa azt mutatja, hogyan lehet a legnagyobbtól a legkisebbig megfordítani a rendezést):
{var $reverted = ($names|sort: fn($a, $b) => $b <=> $a)}
A |sort
szűrő lehetővé teszi az elemek kulcs szerinti rendezését is:
{foreach ($names|sort: byKey: true) as $name}
...
{/foreach}
Ha egy táblázatot egy adott oszlop szerint kell rendezni, használhatja a by
paramétert. A példában
szereplő 'name'
érték azt adja meg, hogy a rendezés a $row->name
vagy a szerint történjen.
$row['name']
, attól függően, hogy a $row
egy tömb vagy egy objektum:
{foreach ($items|sort: by: 'name') as $item}
{$item->name}
{/foreach}
Meghatározhat egy visszahívási függvényt is, amely meghatározza a rendezés értékét:
{foreach ($items|sort: by: fn($items) => $items->category->name) as $item}
{$item->name}
{/foreach}
A byKey
paraméter ugyanígy használható.
spaceless
Eltávolítja a felesleges szóközöket a kimenetből. Használhatod a strip
aliast is.
{block |spaceless}
<ul>
<li>Hello</li>
</ul>
{/block}
Nyomtat:
<ul> <li>Hello</li> </ul>
stripHtml
A HTML-t egyszerű szöveggé alakítja. Vagyis eltávolítja a HTML-címkéket, és a HTML-egységeket szöveggé alakítja.
{='<p>one < two</p>'|stripHtml} {* outputs 'one < two' *}
Az így kapott sima szöveg természetesen tartalmazhat olyan karaktereket, amelyek HTML-címkéket képviselnek, például a
'<p>'|stripHtml
átváltozik <p>
. Soha ne adja ki az eredményül kapott szöveget a
|noescape
címmel, mivel ez biztonsági réshez vezethet.
substr (int offset, int length = null)
Kivonja egy karakterlánc egy szeletét. Ezt a szűrőt felváltotta a slice szűrő.
{$string|substr: 1, 2}
translate (string message, …args)
Kifejezéseket fordít le más nyelvekre. Ahhoz, hogy a szűrő elérhető legyen, be kell állítania a fordítót. A címkéket is használhatja a fordításhoz.
<a href="basket">{='Baskter'|translate}</a>
<span>{$item|translate}</span>
trim (string charlist =
" \t\n\r\0\x0B\u{A0}"
)
Vezető és követő karakterek eltávolítása, alapértelmezés szerint szóköz.
{=' I like Latte. '|trim} {* outputs 'I like Latte.' *}
{=' I like Latte.'|trim: '.'} {* outputs ' I like Latte' *}
truncate (int length, string append =
'…'
)
Rövidíti a karakterláncot a megadott maximális hosszúságra, de megpróbálja megőrizni az egész szavakat. Ha a karakterlánc csonkolva van, ellipszist ad a végére (ez a második paraméterrel módosítható).
{var $title = 'Hello, how are you?'}
{$title|truncate:5} {* Hell… *}
{$title|truncate:17} {* Hello, how are… *}
{$title|truncate:30} {* Hello, how are you? *}
upper
Egy értéket nagybetűvé alakít. A mbstring
PHP-bővítményt igényli.
{='latte'|upper} {* outputs 'LATTE' *}
Lásd még capitalize, firstUpper, lower.
webalize
Átalakítja ASCII-re.
A szóközöket kötőjelekké alakítja. Eltávolítja a nem alfanumerikus karaktereket, aláhúzásokat vagy kötőjeleket. Átalakítja kisbetűvé. Eltávolítja a vezető és az utolsó szóközöket is.
{var $s = 'Our 10. product'}
{$s|webalize} {* outputs 'our-10-product' *}
Szükséges a nette/utils csomag.