Extension:ParserFunctions/String functions/tr

StringFunctions uzantıları, dizeler üzerinde çalışan ek bir parser function kümesini tanımlar. Sürüm 2.0, &lt;nowiki> ile olan tutarsızlıkları çözer ve kurulu sunucuda PHP'nin mbstring uzantısına olan ihtiyacı ortadan kaldırır.

İşlevler
Bu modül, işlevleri,  ,  ,  ,  ,  ,  ,   ve   tanımlar.

Bu işlevlerin tümü O(n) zaman karmaşıklığında çalışır ve DoS saldırılarına karşı güvenli olmalarını sağlar.

Notlar:
 * 1) Bu işlevlerin bazı parametreleri, kötüye kullanımı önlemek için genel ayarlarla sınırlandırılmıştır. Bundan sonraki Sınırlar bölümüne bakın.
 * 2) Büyük/küçük harfe duyarlı işlevler için, bazı durumlarda geçici çözüm olarak sihirli kelime   kullanabilirsiniz.
 * 3) Bir MediaWiki sunucusunun bu işlevleri etkinleştirip etkinleştirmediğini belirlemek için Special:Version sayfasındaki desteklenen Genişletilmiş ayrıştırıcı işlevleri listesini kontrol edin.
 * 4) Dize uzunluğu   değişkeni ile sınırlıdır, varsayılan olarak 1000 şeklindedir.

#len

 * 1) len işlevi, verilen dizenin uzunluğunu döndürür. Sözdizimi:

Dönüş değeri her zaman dize kaynağındaki bir karakter sayısıdır (şablon çağrılarının genişletilmesinden sonra, ancak HTML'ye dönüştürülmesinden önce). Dize belirtilmezse, dönüş değeri sıfırdır.


 * Notlar
 * Bu işlev, UTF-8 çok baytlı karakterlerle güvenlidir. Örnek:
 * Baştaki ve sondaki boşluklar veya yeni satırlar sayılmaz, ancak ara boşluklar ve yeni satırlar dikkate alınır. Örnekler:
 * →  (2 karakter arasında 3 boşluk)
 * Kaynak olarak verilen karakterler dönüştürülmez, ancak kaynak biçimlerine göre sayılır.
 * →  (adlandırılmış karakter kaynakçası).
 * →  (sayısal karakter kaynakçası, burada bir boşluk belirtmesine rağmen göz ardı edilmez).
 * gibi etiketler ve diğer etiket uzantıları, içerikleri ayrıştırıcıdan gizlendiğinden her zaman sıfır uzunluğunda olacaktır. Örnek:
 * →  (sayısal karakter kaynakçası, burada bir boşluk belirtmesine rağmen göz ardı edilmez).
 * gibi etiketler ve diğer etiket uzantıları, içerikleri ayrıştırıcıdan gizlendiğinden her zaman sıfır uzunluğunda olacaktır. Örnek:

#pos

 * 1) pos işlevi, dize içindeki belirli bir arama teriminin konumunu döndürür. Sözdizimi:

offset parametresi, belirtilirse, bu işlevin aramaya başlayacağı başlangıç ​​konumunu söyler.

Arama terimi bulunursa, dönüş değeri dize içindeki ilk konumun sıfır tabanlı bir tamsayıdır.

Arama terimi bulunamazsa, işlev boş bir dize döndürür.

Notlar:
 * Bu işlev büyük/küçük harfe duyarlıdır.
 * Arama teriminin izin verilen maksimum uzunluğu, $wgStringFunctionsLimitSearch genel ayarıyla sınırlıdır.
 * Bu işlev, UTF-8 çok baytlı karakterlerle güvenlidir. Örnek:, 3 döndürür.
 * #len ile olduğu gibi, ve diğer etiket uzantıları, karakter konumu açısından 1 uzunluğa sahip olarak değerlendirilir. Örnek: , 1 döndürür.

#rpos

 * 1) rpos işlevi, dize içindeki belirli bir arama teriminin son konumunu döndürür. Sözdizimi:

Arama terimi bulunursa, dönüş değeri dize içindeki son konumunun sıfır tabanlı bir tamsayıdır.

Arama terimi bulunamazsa, işlev -1 ile döner.

İpucu: Bunu son sınırlayıcıyı aramak için kullanırken, son sınırlayıcıdan sonraki konumu almak için sonuca +1 ekleyin. Bu, sınırlayıcı bulunmadığında da çalışır, çünkü "-1 +1", verilen değerin başlangıcı olan sıfırdır.

Notlar:
 * Bu işlev büyük/küçük harfe duyarlıdır.
 * Arama teriminin izin verilen maksimum uzunluğu, $wgStringFunctionsLimitSearch genel ayarıyla sınırlıdır.
 * Bu işlev, UTF-8 çok baytlı karakterlerle güvenlidir. Örnek:, 4 döndürür.
 * #len ile olduğu gibi, ve diğer etiket uzantıları, karakter konumu açısından 1 uzunluğa sahip olarak değerlendirilir. Örnek: , 1 döndürür.

#sub

 * 1) sub işlevi, verilen dizeden bir alt dize döndürür. Sözdizimi:

start parametresi, pozitifse (veya sıfırsa), döndürülecek ilk karakterin sıfır tabanlı bir dizinini belirtir.

Örnek:,   döndürür.

,  döndürür.

start parametresi negatif ise, sondan kaç karakter döndürüleceğini belirtir.

Örnek:,   döndürür.

length parametresi, varsa ve pozitifse, döndürülen dizenin maksimum uzunluğunu belirtir.

Örnek:,   döndürür.

length parametresi negatif ise, dizgenin sonundan kaç karakter çıkarılacağını belirtir.

Örnek:,   döndürür.

start parametresi negatif ise, sondan kaç karakter döndürüleceğini belirtir. length parametresi, varsa ve pozitifse, döndürülen dizenin başlangıç ​​noktasından itibaren maksimum uzunluğunu belirtir.

Örnek:,   döndürür.

Notlar:


 * length parametresi sıfır ise kesinlikle kesme işlemi için kullanılmaz.
 * Örnek:,   döndürür,  ,   döndürür.
 * Eğer start negatif length parametresi ile sondan kesmenin ötesinde bir konumu ifade ediyorsa, boş bir dizge döndürülecektir.
 * Örnek:  boş bir dize döndürür.
 * Bu işlev, UTF-8 çok baytlı karakterlerle güvenlidir. Örnek:,   döndürür.
 * #len olduğu gibi, ve diğer etiket uzantıları, karakter konumu açısından 1 uzunluğa sahip olarak değerlendirilir. Örnek: ,   döndürür.

#pad

 * 1) pad işlevi, belirli bir genişliğe uzatılmış verilen dizeyi döndürür. Sözdizimi:

length parametresi, döndürülen dizenin istenen uzunluğunu belirtir.

padstring parametresi belirtilirse, eksik olan boşluğu doldurmak için kullanılır. Gerektiği kadar çok kez kullanılacak tek bir karakter veya gerektiği kadar çok kez birleştirilecek ve ardından gerekli uzunluğa kırpılacak bir dize olabilir. Örnek:,   döndürür.

Eğer padstring belirtilmemişse, boşluk bırakılır.

direction parametresi, belirtilmişse, şu değerlerden biri olabilir:
 * - dolgu, dizenin sol tarafında olacaktır. Örnek:,   döndürür.
 * - dolgu, dizenin sağ tarafında olacaktır. Örnek:,   döndürür.
 * - dize, döndürülen dizede ortalanacaktır. Örnek:,   döndürür.

direction belirtilmezse, dolgu dizenin sol tarafında olacaktır.

Döndürülen değer, length karakterlerine uzatılan ve eksik parça(ları)yı doldurmak için padstring kullanılarak verilen dizedir. Verilen dize zaten length uzunsa, ne uzatılır ne de kısaltılır.

Notlar:
 * length için izin verilen maksimum değer, $wgStringFunctionsLimitPad genel ayarıyla sınırlıdır.
 * Bu işlev, UTF-8 çok baytlı karakterlerle yalnızca kısmen güvenlidir. Bu karakterler, orijinal dizede görünüyorlarsa uygun şekilde ele alınır, ancak dolguda görünüyorlarsa dikkate alınmaz. Örnekler:
 * , zzzzZmrzlina döndürür
 * , zzzzŽmržlina döndürür
 * , žžŽmržlina döndürür (gerekli dolgu karakterlerinin yalnızca yarısı kullanıldığından, belirtilen uzunluktan daha az dolgulu)
 * Dolguda gibi etiketlere ve diğer etiket uzantılarına izin verilmez. Eğer padstring böyle bir etiket içeriyorsa, kesilecektir.

#replace
The #replace function returns the given string with all occurrences of a search term replaced with a replacement term.

If the search term is unspecified or empty, a single space will be searched for.

If the replacement term is unspecified or empty, all occurrences of the search term will be removed from the string.

Notes:
 * This function is case-sensitive.
 * The maximum allowed length of the search term is limited through the $wgStringFunctionsLimitSearch global setting.
 * The maximum allowed length of the replacement term is limited through the $wgStringFunctionsLimitReplace global setting.
 * Even if the replacement term is a space, an empty string is used. This is a side-effect of the MediaWiki parser. To use a space as the replacement term, put it in nowiki tags.
 * Example:  returns.
 * If this doesn't work, try  with two self-closing tags.
 * Note that this is the only acceptable use of nowiki in the replacement term, as otherwise nowiki could be used to bypass $wgStringFunctionsLimitReplace, injecting an arbitrarily large number of characters into the output. For this reason, all occurrences of &lt;nowiki> or any other tag extension within the replacement term are replaced with spaces.
 * This function is safe with UTF-8 multibyte characters. Example:  returns.
 * If multiple items in a single text string need to be replaced, one could also consider Extension:ReplaceSet. It adds a parser function for a sequence of replacements.

Currently the syntax doesn't provide a switch to toggle case-sensitivity setting. But you may make use of magic words of formatting (e.g. your_string_here ) as a workaround. For example, if you want to remove the word "Category:" from the string regardless of its case, you may type:
 * Case-insensitive replace

But the disadvantage is that the output will become all lower-case. If you want to keep the casing after replacement, you have to use multiple nesting levels (i.e. multiple replace calls) to achieve the same thing.

#explode
The #explode function splits the given string into pieces and then returns one of the pieces. The syntax is:

The delimiter parameter specifies a string to be used to divide the string into pieces. This delimiter string is then not part of any piece, and when two delimiter strings are next to each other, they create an empty piece between them. If this parameter is not specified, a single space is used. The limit parameter is available in ParserFunctions only, not the standalone StringFunctions version, and allows you to limit the number of parts that the value is split into, with all remaining text included in the final part.

The position parameter specifies which piece is to be returned. Pieces are counted from 0. If this parameter is not specified, the first piece is used (piece with number 0). When a negative value is used as position, the pieces are counted from the end. In this case, piece number -1 means the last piece. Examples:
 * returns.
 * returns.
 * returns.
 * returns.
 * returns.

The return value is the position-th piece. If there are fewer pieces than the position specifies, an empty string is returned.

Notes:
 * This function is case sensitive.
 * The maximum allowed length of the delimiter is limited through $wgStringFunctionsLimitSearch global setting.
 * This function is safe with UTF-8 multibyte characters. Example:  returns.

#urlencode: and #urldecode:
These two functions operate in tandem: #urlencode converts a string into a URL-safe syntax, and #urldecode converts such a string back. The syntax is:

Notes:
 * These functions work by directly exposing PHP's urlencode and urldecode functions.
 * For anchors within a page use instead of  . The results of a call to  are compatible with intra-page references generated with  syntax, while  -generated values are not necessarily so.
 * urlencode has been integrated into Extension:ParserFunctions. Note that within the ParserFunction extension the function is called with instead of  . The ParserFunctions extension has been integrated into MediaWiki as of version 1.18; for examples see Help:Magic Words.
 * urldecode works the other way round and turns URL encoded strings into readable strings. A character-code-reference can be found at www.w3schools.com.