Latte Filtreleri
Filtreler, verileri istediğimiz biçimde değiştiren veya biçimlendiren işlevlerdir. Bu, mevcut olan yerleşik filtrelerin bir özetidir.
capitalize |
küçük harf, her kelimenin ilk harfi büyük harf |
firstUpper |
ilk harfi büyük yapar |
lower |
bir dizeyi küçük harf yapar |
upper |
bir dizeyi büyük harf yapar |
ceil |
bir sayıyı belirli bir hassasiyete kadar yuvarlar |
floor |
bir sayıyı belirli bir hassasiyete yuvarlar |
round |
bir sayıyı belirli bir hassasiyete yuvarlar |
escapeUrl |
URL'deki parametreyi kaçar |
noescape |
bir değişkeni kaçış yapmadan yazdırır |
query |
URL'de bir sorgu dizesi oluşturur |
Ayrıca HTML (escapeHtml
ve escapeHtmlComment
), XML (escapeXml
), JavaScript
(escapeJs
), CSS (escapeCss
) ve iCalendar (escapeICal
) için Latte'nin bağlama duyarlı kaç ış sayesinde kendi kullandığı kaçış
filtreleri vardır ve bunları yazmanıza gerek yoktur.
checkUrl |
href niteliği içinde kullanılmak üzere dizeyi sterilize eder |
nocheck |
otomatik URL sanitizasyonunu engeller |
Latte src
ve href
özniteliklerini otomatik olarak
kontrol eder, böylece checkUrl
filtresini kullanmanıza neredeyse gerek kalmaz.
Tüm yerleşik filtreler UTF-8 kodlu dizelerle çalışır.
Kullanım
Latte, boru işareti gösterimini kullanarak filtreleri çağırmaya izin verir (önceki boşluğa izin verilir):
<h1>{$heading|upper}</h1>
Filtreler zincirleme olabilir, bu durumda soldan sağa doğru sırayla uygulanırlar:
<h1>{$heading|lower|capitalize}</h1>
Parametreler filtre adından sonra iki nokta üst üste veya virgülle ayrılmış olarak konur:
<h1>{$heading|truncate:20,''}</h1>
İfade üzerinde filtreler uygulanabilir:
{var $name = ($title|upper) . ($subtitle|lower)}</h1>
Özel filtreler bu şekilde kaydedilebilir:
$latte = new Latte\Engine;
$latte->addFilter('shortify', fn(string $s, int $len = 10) => mb_substr($s, 0, $len));
Bunun gibi bir şablonda kullanırız:
<p>{$text|shortify}</p>
<p>{$text|shortify:100}</p>
Filtreler
batch (int $length, mixed $item): array
Doğrusal verilerin bir tablo biçiminde listelenmesini basitleştiren filtre. Verilen sayıda öğe içeren bir dizi döndürür. İkinci bir parametre sağlarsanız, bu son satırdaki eksik öğeleri doldurmak için kullanılır.
{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>
Baskılar:
<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>
Ayrıca bkz. group ve iterateWhile etiketi.
breakLines
Tüm yeni satırlardan önce HTML satır sonlarını ekler.
{var $s = "Text & with \n newline"}
{$s|breakLines} {* çıkışlar "Text & with <br>\n newline" *}
bytes (int $precision=2)
Bayt cinsinden boyutu insan tarafından okunabilir bir biçimde biçimlendirir. Yerel ayar belirlenmişse, ilgili ondalık ve binlik ayırıcılar kullanılır.
{$size|bytes} 0 B, 1.25 GB, …
{$size|bytes:0} 10 B, 1 GB, …
ceil (int $precision=0)
Bir sayıyı belirli bir hassasiyete kadar yuvarlar.
{=3.4|ceil} {* çıkışlar 4 *}
{=135.22|ceil:1} {* çıktılar 135.3 *}
{=135.22|ceil:3} {* çıktılar 135.22 *}
capitalize
Değerin baş harfli bir sürümünü döndürür. Kelimeler büyük harflerle başlar, geri kalan tüm karakterler
küçüktür. PHP eklentisi gerektirir mbstring
.
{='i like LATTE'|capitalize} {* çıktılar 'I Like Latte' *}
Ayrıca bkz. firstUpper, lower, upper.
checkUrl
URL sanitizasyonunu zorlar. Değişkenin bir web URL'si (yani HTTP/HTTPS protokolü) içerip içermediğini kontrol eder ve güvenlik riski oluşturabilecek bağlantıların yazılmasını engeller.
{var $link = 'javascript:window.close()'}
<a data-href={$link|checkUrl}>checked</a>
<a data-href={$link}>unchecked</a>
Baskılar:
<a data-href="">checked</a>
<a data-href="javascript:window.close()">unchecked</a>
Ayrıca bkz. nocheck.
clamp (int|float $min, int|float $max)
Min ve maks. dahil aralığına sıkıştırılmış değeri döndürür.
{$level|clamp: 0, 255}
Fonksiyon olarak da mevcuttur.
dataStream (string $mimetype=detect)
İçeriği veri URI şemasına dönüştürür. Harici dosyalara bağlantı vermeye gerek kalmadan HTML veya CSS'ye görüntü eklemek için kullanılabilir.
$img = Image::fromFile('obrazek.gif')
değişkeninde bir görüntüye sahip olalım, sonra
<img src={$img|dataStream}>
Örneğin baskılar:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==">
PHP uzantısı gerektirir fileinfo
.
date (string $format)
Tarih ve saati date PHP işlevi tarafından kullanılan maskeye göre biçimlendirir.
Süzgeç, tarihi UNIX zaman damgası biçiminde, dize olarak veya DateTimeInterface
nesnesi olarak kabul eder.
{$today|date:'j. n. Y'}
Ayrıca bkz. localDate.
escapeUrl
URL'de parametre olarak kullanılacak bir değişkeni atar.
<a href="http://example.com/{$name|escapeUrl}">{$name}</a>
Ayrıca sorguya bakın.
explode (string
$separator=''
)
Bir dizeyi verilen sınırlayıcıya göre böler ve bir dizeler dizisi döndürür. İçin takma ad split
.
{='one,two,three'|explode:','} {* returns ['one', 'two', 'three'] *}
Sınırlayıcı boş bir dizeyse (varsayılan değer), girdi ayrı karakterlere bölünecektir:
{='123'|explode} {* returns ['1', '2', '3'] *}
Ayrıca split
takma adını da kullanabilirsiniz:
{='1,2,3'|split:','} {* returns ['1', '2', '3'] *}
Ayrıca bkz. implode.
first
Dizinin ilk elemanını veya karakter dizisini döndürür:
{=[1, 2, 3, 4]|first} {* çıktılar 1 *}
{='abcd'|first} {* çıktılar 'a' *}
floor (int $precision=0)
Bir sayıyı belirli bir hassasiyete yuvarlar.
{=3.5|floor} {* çıkışlar 3 *}
{=135.79|floor:1} {* çıkışlar 135.7 *}
{=135.79|floor:3} {* çıkışlar 135.79 *}
firstUpper
Değerin ilk harfini büyük harfe dönüştürür. PHP eklentisi gerektirir mbstring
.
{='the latte'|firstUpper} {* çıktılar 'The latte' *}
Ayrıca bkz. büyük harf, alt, üst.
group (string|int|\Closure $by): array
Filtre, verileri farklı kriterlere göre gruplandırır.
Bu örnekte, tablodaki satırlar categoryId
sütununa göre gruplandırılmıştır. Çıktı, anahtarın
categoryId
sütunundaki değer olduğu bir dizi dizisidir. Ayrıntılı
talimatları okuyun.
{foreach ($items|group: categoryId) as $categoryId => $categoryItems}
<ul>
{foreach $categoryItems as $item}
<li>{$item->name}</li>
{/foreach}
</ul>
{/foreach}
Ayrıca bkz. batch, group fonksiyonu ve iterateWhile etiketi.
implode (string $glue=''
)
Dizideki dizelerin birleştirilmesinden oluşan bir dizge döndürür. İçin takma ad join
.
{=[1, 2, 3]|implode} {* outputs '123' *}
{=[1, 2, 3]|implode:'|'} {* outputs '1|2|3' *}
Ayrıca join
takma adını da kullanabilirsiniz:
{=[1, 2, 3]|join} {* outputs '123' *}
indent (int $level=1, string
$char="\t"
)
Bir metni soldan belirli sayıda sekme veya ikinci isteğe bağlı bağımsız değişkende belirttiğimiz diğer karakterler kadar girintiler. Boş satırlar girintilenmez.
<div>
{block |indent}
<p>Hello</p>
{/block}
</div>
Baskılar:
<div>
<p>Hello</p>
</div>
last
Dizinin son elemanını veya karakter dizisini döndürür:
{=[1, 2, 3, 4]|last} {* outputs 4 *}
{='abcd'|last} {* outputs 'd' *}
length
Bir dize veya dizinin uzunluğunu döndürür.
- dizeler için, uzunluğu UTF-8 karakterleri cinsinden döndürecektir
- diziler için, öğe sayısını döndürür
- Countable arayüzünü uygulayan nesneler için count() işlevinin dönüş değerini kullanacaktır.
- IteratorAggregate arayüzünü uygulayan nesneler için, iterator_count() işlevinin dönüş değerini kullanacaktır.
{if ($users|length) > 10}
...
{/if}
localDate (?string $format=null, ?string $date=null, ?string $time=null)
Tarih ve saati yerel ayara göre biçimlendirerek, zaman verilerinin farklı diller ve
bölgeler arasında tutarlı ve yerelleştirilmiş bir şekilde görüntülenmesini sağlar. Filtre, tarihi UNIX zaman damgası,
dize veya DateTimeInterface
nesnesi olarak kabul eder.
{$date|localDate} {* 15. dubna 2024 *}
{$date|format: yM} {* 4/2024 *}
{$date|localDate: date: medium} {* 15. 4. 2024 *}
Filtreyi herhangi bir parametre olmadan kullanırsanız, daha sonra açıklanacağı gibi tarihi uzun biçim düzeyinde verir.
a) Formatı kullanma
format
parametresi hangi zaman bileşenlerinin görüntülenmesi gerektiğini açıklar. Tekrar sayısının
çıktının genişliğini etkilediği harf kodlarını kullanır:
Yıl | y / yy / yyyy |
2024 / 24 / 2024 |
Ay | M / MM / MMM / MMMM |
8 / 08 / Ağu / Ağustos |
Gün | d / dd / E / EEEE |
1 / 01 / Paz / Pazar |
Saat | j / H / h |
tercih edilen / 24 saat / 12 saat |
Dakika | m / mm |
5 / 05 (saniye ile birleştirildiğinde 2 hane) |
Saniye | s / ss |
8 / 08 (dakika ile birleştirildiğinde 2 hane) |
Biçimdeki kodların sırası önemli değildir, çünkü bileşenlerin sırası yerel ayarların kurallarına göre
görüntülenecektir. Bu nedenle, biçim yerelden bağımsızdır. Örneğin, en_US
yerel ayarında
yyyyMMMMd
biçimi April 15, 2024
çıktısını verirken, cs_CZ
yerel ayarında
15. dubna 2024
çıktısını verir:
locale: | tr-TR | en_US |
---|---|---|
format: 'dMy' |
10.08.2024 | 8/10/2024 |
format: 'yM' |
08/2024 | 8/2024 |
format: 'yyyyMMMM' |
Ağustos 2024 | August 2024 |
format: 'MMMM' |
Ağustos | August |
format: 'jm' |
17:54 | 5:54 PM |
format: 'Hm' |
17:54 | 17:54 |
format: 'hm' |
ÖS 5:54 | 5:54 PM |
b) Önceden ayarlanmış stilleri kullanma
date
ve time
parametreleri tarih ve saat gösterimi için ayrıntı düzeyini belirler. Birkaç
seviye arasından seçim yapabilirsiniz: full
, long
, medium
, short
. Sadece
tarihi, sadece saati ya da her ikisini birden görüntüleyebilirsiniz:
locale: | tr-TR | en_US |
---|---|---|
date: short |
23.01.1978 | 1/23/78 |
date: medium |
23 Oca 1978 | Jan 23, 1978 |
date: long |
23 Ocak 1978 | January 23, 1978 |
date: full |
23 Ocak 1978 Pazartesi | Monday, January 23, 1978 |
time: short |
08:30 | 8:30 AM |
time: medium |
08:30:59 | 8:30:59 AM |
time: long |
08:30:59 GMT+1 | 8:30:59 AM GMT+1 |
date: short, time: short |
23.01.1978 08:30 | 1/23/78, 8:30 AM |
date: medium, time: short |
23 Oca 1978 08:30 | Jan 23, 1978, 8:30 AM |
date: long, time: short |
23 Ocak 1978 08:30 | January 23, 1978 at 8:30 AM |
Tarih için relative-
önekini de kullanabilirsiniz (örneğin, relative-short
), bu da günümüze
yakın tarihler için yesterday
, today
veya tomorrow
olarak görüntülenir; aksi takdirde
standart şekilde görüntülenir.
{$date|localDate: date: relative-short} {* yesterday *}
Ayrıca bkz. tarih.
lower
Bir değeri küçük harfe dönüştürür. PHP eklentisi gerektirir mbstring
.
{='LATTE'|lower} {* outputs 'latte' *}
Ayrıca bkz. capitalize, firstUpper, upper.
nocheck
Otomatik URL sanitizasyonunu önler. Latte, değişkenin bir web URL'si (yani HTTP/HTTPS protokolü) içerip içermediğini otomatik olarak kontrol eder ve güvenlik riski oluşturabilecek bağlantıların yazılmasını önler.
Bağlantı javascript:
veya data:
gibi farklı bir şema kullanıyorsa ve içeriğinden eminseniz,
kontrolü |nocheck
üzerinden devre dışı bırakabilirsiniz.
{var $link = 'javascript:window.close()'}
<a href={$link}>checked</a>
<a href={$link|nocheck}>unchecked</a>
Baskılar:
<a href="">checked</a>
<a href="javascript:window.close()">unchecked</a>
Ayrıca bkz. checkUrl.
noescape
Otomatik kaçışı devre dışı bırakır.
{var $trustedHtmlString = '<b>hello</b>'}
Escaped: {$trustedHtmlString}
Unescaped: {$trustedHtmlString|noescape}
Baskılar:
Escaped: <b>hello</b>
Unescaped: <b>hello</b>
noescape
filtresinin yanlış kullanımı bir XSS güvenlik açığına yol açabilir! Ne
yaptığınızdan ve yazdırdığınız dizenin güvenilir bir kaynaktan geldiğinden kesinlikle emin değilseniz asla
kullanmayın.
number (int $decimals=0, string
$decPoint='.'
, string $thousandsSep=','
)
Bir sayıyı belirtilen sayıda ondalık basamağa göre biçimlendirir. Yerel ayar belirlenmişse, ilgili ondalık ve binlik ayırıcılar kullanılır.
{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)
format
parametresi, sayıların görünümünü tam olarak ihtiyaçlarınıza göre tanımlamanıza olanak tanır.
Ayarlanmış bir yerel ayar gerektirir. Biçim, tam açıklamasını DecimalFormat belgesinde bulabileceğiniz
birkaç özel karakterden oluşur:
- <c id=6/> zorunlu rakam, sıfır olsa bile her zaman görüntülenir
#
isteğe bağlı rakam, yalnızca sayının o yerde bir rakamı varsa görüntülenir@
anlamlı hane, sayının belirli sayıda anlamlı hane ile görüntülenmesine yardımcı olur.
ondalık ayırıcının olması gereken yeri işaretler (yerel ayara bağlı olarak virgül veya nokta),
genellikle binlik rakam gruplarını ayırmak için kullanılır%
sayıyı 100 ile çarpar ve yüzde işaretini ekler
Şimdi bazı örneklere bakalım. İlk örnekte, iki ondalık basamak zorunludur; ikincisinde ise isteğe bağlıdır. Üçüncü örnekte her iki tarafta da sıfırlarla doldurma gösterilirken, dördüncü örnekte yalnızca mevcut rakamlar görüntülenir:
{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 *}
Önemli basamaklar, ondalık noktadan bağımsız olarak kaç basamağın görüntülenmesi gerektiğini belirler ve gerekirse sayıyı yuvarlar:
{1234|number: '@@'} {* 1200 *}
{1234|number: '@@@'} {* 1230 *}
{1234|number: '@@@#'} {* 1234 *}
{1.2345|number: '@@@'} {* 1.23 *}
{0.00123|number: '@@'} {* 0.0012 *}
Bir sayıyı yüzde olarak görüntülemenin kolay bir yolu. Sayı 100 ile çarpılır ve %
işareti eklenir:
{0.1234|number: '#.##%'} {* 12.34% *}
Pozitif ve negatif sayılar için ;
karakteriyle ayrılmış farklı bir format tanımlayabiliriz. Bu şekilde,
örneğin pozitif sayılar bir +
işaretiyle gösterilebilir:
{42|number: '#.##;(#.##)'} {* 42 *}
{-42|number: '#.##;(#.##)'} {* (42) *}
{42|number: '+#.##;-#.##'} {* +42 *}
{-42|number: '+#.##;-#.##'} {* -42 *}
Sayıların gerçek görünümünün yerel ayarlara bağlı olarak değişebileceğini unutmayın. Örneğin, bazı ülkelerde ondalık ayırıcı olarak nokta yerine virgül kullanılır. Bu filtre bunu otomatik olarak hesaba katar, bu nedenle endişelenmenize gerek yoktur.
padLeft (int $length, string
$pad=' '
)
Bir dizeyi soldan başka bir dizeyle belirli bir uzunluğa kadar doldurur.
{='hello'|padLeft: 10, '123'} {* outputs '12312hello' *}
padRight (int $length, string
$pad=' '
)
Bir dizeyi sağdan başka bir dizeyle belirli bir uzunlukta doldurur.
{='hello'|padRight: 10, '123'} {* outputs 'hello12312' *}
query
URL'de dinamik olarak bir sorgu dizesi oluşturur:
<a href="http://example.com/?{[name: 'John Doe', age: 43]|query}">click</a>
<a href="http://example.com/?search={$search|query}">search</a>
Baskılar:
<a href="http://example.com/?name=John+Doe&age=43">click</a>
<a href="http://example.com/?search=Foo+Bar">search</a>
Değeri null
olan anahtarlar atlanır.
Ayrıca bkz. escapeUrl.
random
Dizinin rastgele elemanını veya karakter dizisini döndürür:
{=[1, 2, 3, 4]|random} {* example output: 3 *}
{='abcd'|random} {* example output: 'b' *}
repeat (int $count)
Dizeyi x kez tekrarlar.
{='hello'|repeat: 3} {* outputs 'hellohellohello' *}
replace (string|array $search, string
$replace=''
)
Arama dizesinin tüm geçtiği yerleri değiştirme dizesiyle değiştirir.
{='hello world'|replace: 'world', 'friend'} {* outputs 'hello friend' *}
Aynı anda birden fazla değiştirme yapılabilir:
{='hello world'|replace: [h => l, l => h]} {* outputs 'lehho worhd' *}
replaceRE (string $pattern, string
$replace=''
)
Tüm oluşumları düzenli ifadeye göre değiştirir.
{='hello world'|replaceRE: '/l.*/', 'l'} {* outputs 'hel' *}
reverse
Verilen dizeyi veya diziyi tersine çevirir.
{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)
Bir sayıyı belirli bir hassasiyete yuvarlar.
{=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)
Bir dizinin veya dizginin bir dilimini çıkarır.
{='hello'|slice: 1, 2} {* outputs 'el' *}
{=['a', 'b', 'c']|slice: 1, 2} {* outputs ['b', 'c'] *}
Dilim süzgeci, diziler için array_slice
PHP işlevi ve dizeler için mb_substr
işlevi olarak
çalışır ve UTF-8 kipinde iconv_substr
işlevine geri döner.
Başlangıç negatif değilse, dizi değişkendeki o başlangıçtan başlayacaktır. Başlangıç negatifse, dizi değişkenin sonundan o kadar uzakta başlayacaktır.
Uzunluk verilmişse ve pozitifse, dizinin içinde o kadar eleman olacaktır. Değişken uzunluktan daha kısaysa, yalnızca mevcut değişken öğeleri mevcut olacaktır. Uzunluk verilirse ve negatifse, dizi değişkenin sonundan itibaren o kadar elemanla duracaktır. Atlanırsa, dizi ofsetten değişkenin sonuna kadar her şeye sahip olacaktır.
Filtre, varsayılan olarak tamsayı dizi anahtarlarını yeniden sıralar ve sıfırlar. Bu davranış preserveKeys öğesi true olarak ayarlanarak değiştirilebilir. Dize anahtarları bu parametreden bağımsız olarak her zaman korunur.
sort (?Closure $comparison, string|int|\Closure|null $by=null, string|int|\Closure|bool $byKey=false)
Filtre, bir dizinin veya yineleyicinin öğelerini, ilişkisel anahtarlarını koruyarak sıralar. Bir yerel ayarlandığında, özel bir karşılaştırma işlevi belirtilmediği sürece sıralama yerel ayarın kurallarını izler.
{foreach ($names|sort) as $name}
...
{/foreach}
Dizi ters sırada sıralanır.
{foreach ($names|sort|reverse) as $name}
...
{/foreach}
Sıralama için özel bir karşılaştırma işlevi belirtebilirsiniz (örnekte sıralamanın en büyükten en küçüğe doğru nasıl tersine çevrileceği gösterilmektedir):
{var $reverted = ($names|sort: fn($a, $b) => $b <=> $a)}
|sort
filtresi ayrıca öğeleri anahtara göre sıralamanıza da olanak tanır:
{foreach ($names|sort: byKey: true) as $name}
...
{/foreach}
Bir tabloyu belirli bir sütuna göre sıralamanız gerekiyorsa, by
parametresini kullanabilirsiniz. Örnekteki
'name'
değeri, sıralamanın $row->name
veya $row['name']
, $row
adresinin
bir dizi veya nesne olmasına bağlı olarak değişir:
{foreach ($items|sort: by: 'name') as $item}
{$item->name}
{/foreach}
Ayrıca, sıralanacak değeri belirleyen bir geri arama işlevi de tanımlayabilirsiniz:
{foreach ($items|sort: by: fn($items) => $items->category->name) as $item}
{$item->name}
{/foreach}
byKey
parametresi de aynı şekilde kullanılabilir.
spaceless
Gereksiz boşlukları çıktıdan kaldırır. Ayrıca strip
takma adını da kullanabilirsiniz.
{block |spaceless}
<ul>
<li>Hello</li>
</ul>
{/block}
Baskılar:
<ul> <li>Hello</li> </ul>
stripHtml
HTML'yi düz metne dönüştürür. Yani, HTML etiketlerini kaldırır ve HTML varlıklarını metne dönüştürür.
{='<p>one < two</p>'|stripHtml} {* outputs 'one < two' *}
Ortaya çıkan düz metin doğal olarak HTML etiketlerini temsil eden karakterler içerebilir, örneğin
'<p>'|stripHtml
şu şekilde dönüştürülür <p>
. Bir güvenlik açığına yol
açabileceğinden, ortaya çıkan metni asla |noescape
ile çıktı olarak vermeyin.
substr (int $offset, ?int $length=null)
Bir dizenin bir dilimini çıkarır. Bu filtre bir dilim filtresi ile değiştirilmiştir.
{$string|substr: 1, 2}
translate (string $message, …$args)
İfadeleri diğer dillere çevirir. Filtreyi kullanılabilir hale getirmek için çevirmen kurmanız gerekir. Çeviri için etiketleri de kullanabilirsiniz.
<a href="basket">{='Baskter'|translate}</a>
<span>{$item|translate}</span>
trim (string
$charlist=" \t\n\r\0\x0B\u{A0}"
)
Baştaki ve sondaki karakterleri, varsayılan olarak boşlukları soyun.
{=' I like Latte. '|trim} {* outputs 'I like Latte.' *}
{=' I like Latte.'|trim: '.'} {* outputs ' I like Latte' *}
truncate (int $length, string
$append='…'
)
Bir dizeyi verilen maksimum uzunluğa kısaltır, ancak tüm kelimeleri korumaya çalışır. Dize kesilmişse sonuna üç nokta ekler (bu ikinci parametre ile değiştirilebilir).
{var $title = 'Hello, how are you?'}
{$title|truncate:5} {* Hell… *}
{$title|truncate:17} {* Hello, how are… *}
{$title|truncate:30} {* Hello, how are you? *}
upper
Bir değeri büyük harfe dönüştürür. PHP eklentisi gerektirir mbstring
.
{='latte'|upper} {* outputs 'LATTE' *}
Ayrıca bkz. capitalize, firstUpper, lower.
webalize
ASCII'ye dönüştürür.
Boşlukları tire işaretine dönüştürür. Alfanümerik, alt çizgi veya kısa çizgi olmayan karakterleri kaldırır. Küçük harfe dönüştürür. Ayrıca baştaki ve sondaki boşlukları da siler.
{var $s = 'Our 10. product'}
{$s|webalize} {* outputs 'our-10-product' *}
nette/utils paketini gerektirir.