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

 * 1) replace işlevi, bir arama teriminin tüm oluşumları yerine bir ikame terimle değiştirilen verilen dizeyi döndürür.

arama terimi belirtilmemiş veya boş ise tek bir boşluk aranacaktır.

değiştirme terimi belirtilmemişse veya boşsa, arama teriminin tüm tekrarları dizeden kaldırılacaktı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.
 * değiştirme terimi için izin verilen maksimum uzunluk, $wgStringFunctionsLimitReplace genel ayarıyla sınırlıdır.
 * değiştirme terimi bir boşluk olsa bile boş bir dize kullanılır. Bu, MediaWiki ayrıştırıcısının bir yan etkisidir. değiştirme terimi olarak bir boşluk kullanmak için, onu nowiki etiketlerine koyun.
 * Örnek:,   döndürür.
 * Bu işe yaramazsa, kendi kendine kapanan iki etiketle  deneyin.
 * Değiştirme teriminde 'nowiki'nin kabul edilebilir tek kullanımı bu' olduğuna dikkat edin, aksi takdirde nowiki, çıkışa keyfi olarak çok sayıda karakter enjekte ederek $wgStringFunctionsLimitReplace atlamak için kullanılabilir. Bu nedenle, değiştirme terimi içindeki tüm &lt;nowiki> veya diğer etiket uzantıları boşluklarla değiştirilir.
 * Bu işlev, UTF-8 çok baytlı karakterlerle güvenlidir. Örnek:,   döndürür.
 * Tek bir metin dizesindeki birden çok öğenin değiştirilmesi gerekiyorsa, Extension:ReplaceSet de düşünülebilir. Bir dizi değiştirme için bir ayrıştırıcı işlevi ekler.

Şu anda sözdizimi, büyük/küçük harf duyarlılığı ayarını değiştirmek için bir anahtar sağlamaz. Ancak, biçimlendirmenin sihirli kelimelerini (örn. your_string_here ) kullanabilirsiniz. Örneğin, "Category:" sözünü büyük/küçük harfe bakılmaksızın dizeden kaldırmak istiyorsanız şunu yazabilirsiniz:
 * Büyük/küçük harfe duyarsız değiştirme

Ancak dezavantaj, çıkışının tamamen küçük harf hâline gelmesidir. Muhafazayı değiştirdikten sonra tutmak istiyorsanız, aynı şeyi elde etmek için birden çok iç içe yerleştirme düzeyi (yani birden çok değiştirme çağrısı) kullanmanız gerekir.

#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.