Dizge Kütüphanesi
Metinsel ifadeler üzerinde bir takım işlemleri yerine getirmek üzere geliştirilmiş bir sınıftır. # Kurulum Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez. ↓ composer require iltermedya/…
This article is currently available in Turkish. Its English translation is being prepared.
Metinsel ifadeler üzerinde bir takım işlemleri yerine getirmek üzere geliştirilmiş bir sınıftır.
Kurulum
Bu bileşen KUT ile birlikte gelir; ayrıca kurulum gerektirmez.
↓ Paket KUT ile birlikte gelir.
Yöntemler
| Strings::mtrim(string $str) : string |
| Strings::trimSlashes(string $str) : string |
| Strings::addPrefix(string $str, string $fix = '/') : string |
| Strings::removePrefix(string $str, string $fix = '/') : string |
| Strings::addSuffix(string $str, string $fix = '/') : string |
| Strings::removeSuffix(string $str, string $fix = '/') : string |
| Strings::addBothFix(string $str, string $fix = '/') : string |
| Strings::removeBothFix(string $str, string $fix = '/') : string |
| Strings::casing(string $str, string $type = 'lower', string $encoding = 'utf-8') : string |
| Strings::upperCase(string $str, string $encoding = 'utf-8') : string |
| Strings::lowerCase(string $str, string $encoding = 'utf-8') : string |
| Strings::titleCase(string $str, string $encoding = 'utf-8') : string |
| Strings::camelCase(string $str) : string |
| Strings::pascalCase(string $str) : string |
| Strings::underscoreCase(string $str) : string |
| Strings::search(string $str, string $needle, string $type = 'string', bool $case = true) : string |
| Strings::searchPosition(string $str, string $needle, bool $case = true) : int |
| Strings::searchString(string $str, string $needle, bool $case = true) : string |
| Strings::searchBetween(string $str, string $start, string $end, bool $case = true) : string |
| Strings::searchBetweenBoth(string $str, string $start, string $end, bool $case = true) : string |
| Strings::reshuffle(string $str, string $shuffle,string $reshuffle) : string |
| Strings::recurrentCount(string $str, string $char) : int |
| Strings::placement(string $str, string $delimiter, array $array) : string |
| Strings::section(string $str, int $starting = 0, int $count = NULL, string $encoding = 'utf-8') : string |
| Strings::replace(string $string, mixed $oldChar, mixed $newChar = NULL, bool $case = true) : string |
| Strings::repeatComplete(string $string, int $completeCount, int $completeSymbol = '0', string $direction = 'left') : string |
| Strings::toArray(string $string, string $split = ' ') : array |
| Strings::split(string $string, int $count = 1) : array |
| Strings::splitUpperCase(string $string) : array |
| Strings::toChar(int $ascii) : string |
| Strings::toAscii(string $string) : int |
| Strings::addSlashes(string $string, string $addDifferentChars = NULL) : string |
| Strings::removeSlashes(string $string) : string |
| Strings::length(string $string, string $encoding = 'utf-8') : int |
| Strings::repeat(string $string, int $count = 1) : string |
| Strings::apportion(string $string, int $length = [[76]], string $end = '\n') : string |
| Strings::divide(string $str, string $separator = '|', scalar $index = 0, scalar $count = 1) : string |
| Strings::pad(string $string, int $count = 1, string $chars = ' ', string $type = 'right') : string |
| Strings::unserialize(string $data) : array |
| Strings::serialize(array $data) : string |
Mtim
Metinsel ifadelerdeki boşlukları temizlemek için kullanılır. Bunlara satır başı, satır sonu ve tab karakterleri dahildir.
Parametreler
| string | $str | İlgili dizge. |
| return | string | |
Kullanımı
echo Strings::mtrim(' KUT framework ');
TrimSlashes
Metinsel ifadelerde başta ve sonda yer alan taksim işaretlerini temizlemek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| return | string | |
Kullanımı
echo Strings::trimSlashes('/product/computer/12/');
AddPrefix
Dizgenin önüne dizgede var olmayan ön ek eklemek için kullanılır. Aynı ön ekten varsa terkar ekleme yapmaz.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::addPrefix('product');
Ön ek zaten varsa tekrar ekleme yapılmaz.
echo Strings::addPrefix('/product');
RemovePrefix
Dizgenin önündeki istenmeyen ifadeyi kaldırmak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::removePrefix('product', 'pro');
AddSuffix
Dizgenin sonuna dizgede var olmayan son ek eklemek için kullanılır. Aynı son ekten varsa terkar ekleme yapmaz.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::addSuffix('product', '!');
Son ek zaten varsa tekrar ekleme yapılmaz.
echo Strings::addSuffix('product!', '!');
RemoveSuffix
Dizgenin sonundaki istenmeyen ifadeyi kaldırmak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::removeSuffix('product', 'duct');
AddBothFix
Dizgenin önüne ve sonuna dizgede var olmayan ön ve son ek eklemek için kullanılır. Aynı ön ve son ekten varsa terkar ekleme yapmaz.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::addBothFix('product');
Ön ve son ek zaten varsa tekrar ekleme yapılmaz. Ancak olmayan tarafa ekleme yapılır.
echo Strings::addBothFix('/product');
RemoveBothFix
Dizgenin önündeki ve sonundaki istenmeyen ifadeyi kaldırmak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $fix = '/' | Ek. |
| return | string | |
Kullanımı
echo Strings::removeBothFix('/product/');
Ek tek tarafta ise işlemi sadece o taraf için gerçekleştirir.
echo Strings::removeBothFix('/product');
Casing
Metinsel ifadelerde büyük küçük harf dönüşümü yapabilmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $type = 'lower' | Neye dönüştürüleceği. |
| Seçenekler | lower, upper, title | |
| string | $encoding = 'utf-8' | Kodlama türü. |
| return | string | |
Kullanımı
output( Strings::casing('KUT framework') );
output( Strings::casing('KUT framework', 'upper') );
output( Strings::casing('KUT framework', 'title') );
KUT FRAMEWORK
KUT Framework
UpperCase
Metinsel ifadeleri büyük harfe çevirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $encoding = 'utf-8' | Kodlama türü. |
| return | string | |
Kullanımı
output( Strings::upperCase('KUT framework') );
LowerCase
Metinsel ifadeleri küçük harfe çevirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $encoding = 'utf-8' | Kodlama türü. |
| return | string | |
Kullanımı
output( Strings::lowerCase('KUT framework') );
TitleCase
Metinsel ifadelerin sadece ilk harfini büyük harfe çevirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $encoding = 'utf-8' | Kodlama türü. |
| return | string | |
Kullanımı
output( Strings::titleCase('KUT framework') );
CamelCase
Bu yöntem camelCase kodlama notasyonuna çevirir.
Parametreler
| string | $str | İlgili dizge. |
| return | string | |
Kullanımı
output( Strings::camelCase('KUT framework') );
PascalCase
Bu yöntem pascalCase kodlama notasyonuna çevirir.
Parametreler
| string | $str | İlgili dizge. |
| return | string | |
Kullanımı
output( Strings::pascalCase('KUT framework') );
# UnderscoreCase
Bu yöntem underscore_case kodlama notasyonuna çevirir.
Parametreler
| string | $str | İlgili dizge. |
| return | string | |
Kullanımı
output( Strings::underscore('KUT framework') );
Search
Metinsel ifadelerde arama işlemi yapmak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $needle | Aranan dizge. |
| Seçenekler | string, position | |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | mixed | |
Kullanımı
output( Strings::search('KUT framework', 'frame') );
output( Strings::search('KUT framework', 'Frame', 'string', false) );
output( Strings::search('KUT framework', 'frame', 'position') );
framework
3
SearchPosition
Metinsel ifadelerde arama işlemi yapmak için kullanılır. Eğer değer bulunursa o değerin ilk karakterinin indis numarası döner.
Parametreler
| string | $str | İlgili dizge. |
| string | $needle | Aranan dizge. |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | int | |
Kullanımı
output( Strings::searchPosition('KUT framework', 'Frame', false) );
searchString
Metinsel ifadelerde arama işlemi yapmak için kullanılır. Eğer değer bulunursa o değer ve devamı döner.
Parametreler
| string | $str | İlgili dizge. |
| string | $needle | Aranan dizge. |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | string | |
Kullanımı
output( Strings::searchString('KUT framework', 'frame') );
output( Strings::searchString('KUT framework', 'Frame', false) );
framework
SearchBetween ({{PaketKUT 1.0’da desteklenir}})
Belirtilen başlangıç ve bitiş dizgeleri arasında kalan metni almak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $start | Başlangıç dizgesi. |
| string | $end | Bitiş dizgesi. |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | string | |
Kullanımı
$data = 'Hello KUT Framework';
output( Strings::searchBetween($data, 'Hello ', ' Framework') );
SearchBetweenBoth ({{PaketKUT 1.0’da desteklenir}})
Belirtilen başlangıç ve bitiş dizgeleri dahl arasında kalan metni almak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $start | Başlangıç dizgesi. |
| string | $end | Bitiş dizgesi. |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | string | |
Kullanımı
$data = 'Hello KUT Framework';
output( Strings::searchBetweenBoth($data, 'lo ', ' Fra') );
Reshuffle
Metinsel ifadelerde istenilen karakter veya kelimeler arasında yer değiştirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $shuffle | Yer değiştirecek dizge. |
| string | $reshuffle | Yer değiştirecek dizge. |
| return | string | |
Kullanımı
output( Strings::reshuffle('KUT framework', 'KUT', 'framework') );
RecurrentCount
Metinsel ifadelerde tekrar eden metin sayısını öğrenmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $char | Tekrar eden dizge. |
| return | int | |
Kullanımı
output( Strings::recurrentCount('Foo bar baz baz coo baz', 'baz') );
Placement
Bu yöntem str_replace() yönteminden farklı olarak değiştirilmek istenen karakter yerine sırası ile hangi karakterlerin geleceğini belirtir.
Parametreler
| string | $str | İlgili dizge. |
| string | $delimiter | Dizge yerleştirilecek karakterler. |
| array | $array | 2. parametre ile işaretlenen yerlere hangi dizgelerin yerleştirileceği |
| return | string | |
Kullanımı
output( Strings::placement('Foo bar baz baz coo baz', 'baz', ['BAZ', 'BAR', 'FOO']) );
Section
Dizgeden kesit almak için kullanılır. mb_substr() fonksiyonunun nesne yönelimli kullanımıdır.
Parametreler
| string | $str | İlgili dizge. |
| int | $starting = 0 | Kesit için kaçıncı indisten başlanacağı. |
| int | $count = NULL | Kaç karakter alınacağı. |
| string | $encoding = 'utf-8' | Kodlama türü. |
| return | string | |
Kullanımı
output( Strings::section('Foo bar baz baz coo baz', 4, 3) );
output( Strings::section('Foo bar baz baz coo baz', 8, 3) );
baz
Replace
Dizge değeri üzerinde değişiklikler yapmak için kullanılır. str_replace() fonksiyonunun nesne yönelimli kullanımıdır.
Parametreler
| string | $str | İlgili dizge. |
| mixed | $oldChars | Değiştirilmesi istenen karakterler |
| mixed | $newChars | 2. Parametre karakterlerinin yerini alacak yeni karakterler. |
| bool | $case = true | Büyük küçük harf duyarlılığı. |
| return | string | |
Kullanımı
output( Strings::replace('Foo bar baz baz coo baz', ['baz', 'Coo'], ['BAZ', 'COO']) );
output( Strings::replace('Foo bar baz baz coo baz', ['baz', 'Coo'], ['BAZ', 'COO'], false) );
Foo bar BAZ BAZ COO BAZ
RepeatComplete KUT 1.0’da desteklenir
Bir dizgenin sağını veya solunu belirtilen uzunlukta belirtilen sembole göre doldurur.
Parametreler
| string | $string | İlgili dizge. |
| int | $completeCount | Dizgenin tamamlanacağı uzunluk. |
| string | $completeSymbol = '0' | Doldurulacak karakter. |
| string | $direction = 'left' | Doldurma yönü. |
| Seçenekler: 'left', 'right' | ||
| return | string | |
Kullanımı
20 sayısını 5 karaktere tamamlayalım.
output( Strings::repeatComplete('20', 5) );
Doldurma Sayısı [int $completeCount]
output( Strings::repeatComplete('20', 10) );
Farklı Sembol [string $completeSymbol = '0']
output( Strings::repeatComplete('20', 5, 'x') );
Doldurma Yönü [string $direction = 'left']
output( Strings::repeatComplete('20', 5, 'x', 'right') );
output( Strings::repeatComplete('KUT Framework', 5, 'x', 'right') );
ToArray
Dizgeyi diziye çevirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| string | $split = ' ' | Hangi karakterlerden bölüneceği. |
| return | array | |
Kullanımı
output( Strings::toArray('Foo bar baz baz coo baz', '') );
output( Strings::toArray('Foo bar baz baz coo baz', 'bar') );
1 => string 'o' ( length = 3 ),
2 => string 'o' ( length = 3 ),
3 => string ' ' ( length = 3 ),
4 => string 'b' ( length = 3 ),
5 => string 'a' ( length = 3 ),
6 => string 'r' ( length = 3 ),
7 => string ' ' ( length = 3 ),
8 => string 'b' ( length = 3 ),
9 => string 'a' ( length = 3 ),
10 => string 'z' ( length = 3 ),
11 => string ' ' ( length = 3 ),
12 => string 'b' ( length = 3 ),
13 => string 'a' ( length = 3 ),
14 => string 'z' ( length = 3 ),
15 => string ' ' ( length = 3 ),
16 => string 'c' ( length = 3 ),
17 => string 'o' ( length = 3 ),
18 => string 'o' ( length = 3 ),
19 => string ' ' ( length = 3 ),
20 => string 'b' ( length = 3 ),
21 => string 'a' ( length = 3 ),
22 => string 'z' ( length = 3 )
--------------------------------
0 => string 'Foo ' ( length = 6 ),
1 => string ' baz baz coo baz' ( length = 18 )
Split
Dizgeyi belli sayıda karaktere ayırıp diziye çevirmek için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| int | $count = 1 | Kaçar kaçar bölüneceği. |
| return | array | |
Kullanımı
output( Strings::split('FooBar', 3) );
1 => string 'Bar' ( length = 3 )
SplitUpperCase
Dizgeyi Büyük harf'e göre parçalara ayırır.
Parametreler
| string | $str | İlgili dizge. |
| return | array | |
Kullanımı
output( Strings::splitUpperCase('FooBarBaz') );
1 => string 'Bar' ( length = 3 ),
2 => string 'Baz' ( length = 3 ),
ToChar
Ascii kodunun karakter karşılığını elde etmek için kullanılır.
Parametreler
| int | $ascii | Ascii kodu. |
| return | array | |
Kullanımı
output( Strings::toChar(65) );
ToAscii
Karakterin ascii kod karşılığını elde etmek için kullanılır.
Parametreler
| string | $char | Karakter |
| return | int | |
Kullanımı
output( Strings::toChar('A') );
AddSlashes
Bu yöntem henüz belgelendirilmemiştir. Kullanımı addcslashes() gibidir.
RemoveSlashes
Bu yöntem henüz belgelendirilmemiştir. Kullanımı stripcslashes() gibidir.
Length
Bu yöntem henüz belgelendirilmemiştir. Kullanımı mb_strlen() gibidir.
Repeat
Bu yöntem henüz belgelendirilmemiştir. Kullanımı str_repeat() gibidir.
Apportion
Dizgeyi belirli uzunlukta parçalara ayırmak için kullanılır.
Parametreler
| string | $str | İlgili dizge. |
| int | $length = 76 | Bölme uzunluğu. |
| string | $endChar = '\n' | Bölünen yere eklenecek karakter. |
| return | string | |
Kullanımı
output( Strings::apportion('Foobarbazbazcoobaz', 3, "\n") );
bar
baz
Baz
coo
baz
Divide
Biz dizgeden ayraca göre belirlenen bölümlerin alınmasını sağlar.
scalar $count = 1 -> 4. parametresi eklenmiştir. Bu parametre ile birden fazla bölümde yakalanabilir.
| string | $str | İlgili dizge. | |
| string | $separator = '|' | Dizgeyi hangi karakter ile parçalara ayıracağını belirtir. | |
| Scalar | $index = 0 | Kaçıncı parçanın yakalanacağını belirtir. | |
| Pozitif | Baştan yakalamak için indis 0 dan başlar. | ||
| Negatif | Sondan yakalamak için indis -1 ile başlar. | ||
| All | Dizi olarak almak için 'all' parametresi kullanılır. | ||
| Scalar | $count = 1 | Kaç parçanın alınacağını belirtir. | |
| Pozitif | Baştan kaçıncı elamana kadar alınacağıdır. | ||
| Negatif | Sondan kaçıncı elemana kadar alınacağıdır. | ||
| All | Son elemana kadar yakalanacağıdır. | ||
| return | int | ||
echo Strings::divide('hi/guys/i/am/here', '/');
echo Strings::divide('hi/guys/i/am/here', '/', -1);
echo Strings::divide('hi/guys/i/am/here', '/', 0, 2);
echo Strings::divide('hi/guys/i/am/here', '/', 2, -1);
echo Strings::divide('hi/guys/i/am/here', '/', -2, -1);
# Unserialize KUT 1.0’da desteklenir
String URI Get veriyi, özelikle de AJAX istekleri ile serialize edilen form değerlerini diziye çevirmek için kullanılır.
Parametreler
| string | $data | Karakter |
| return | array | |
Kullanımı
output( Strings::unserialize('a=1&b=2') );
b => 2
# Serialize KUT 1.0’da desteklenir
Diziyi string GET veriye çevirmek için kullanılır.
Parametreler
| array | $data | Karakter |
| return | string | |
Kullanımı
output( Strings::serialize(['a' => 1, 'b' => 2]) );