Dizge Kütüphanesi
"Başlangıç kontrolcüsü üzerinden $this nesnesini data olarak göndererek statik olmayan sınıflara ilgili data üzerinden erişebilirsiniz."
Metinsel ifadeler üzerinde bir takım işlemleri yerine getirmek üzere geliştirilmiş bir sınıftır.
# Kurulum
ZN dağıtımları için kurulum gerekmez.
↓ composer require znframework/package-datatypes
# 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 $arr) : string |
Strings::section(string $str, int $starting = 0, int $count = NULL, string $encoding = 'utf-8') : string |
Strings::replace(string $str, mixed $oldChar, mixed $newChar = NULL, bool $case = true) : string |
Strings::repeatComplete(string $str, int $completeCount, int $completeSymbol = '0', string $direction = 'left') : string |
Strings::toArray(string $str, string $split = ' ') : array |
Strings::split(string $str, int $count = 1) : array |
Strings::splitUpperCase(string $str) : array |
Strings::toChar(int $ascii) : string |
Strings::toAscii(string $str) : int |
Strings::addSlashes(string $str, string $addDifferentChars = NULL) : string |
Strings::removeSlashes(string $str) : string |
Strings::length(string $str, string $encoding = 'utf-8') : int |
Strings::repeat(string $str, int $count = 1) : string |
Strings::apportion(string $str, int $length = 76, string $end = '\n') : string |
Strings::divide(string $str, string $separator = '|', scalar $index = 0, scalar $count = 1) : string |
Strings::pad(string $str, 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(' Zn 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('Zn framework') );
output( Strings::casing('Zn framework', 'upper') );
output( Strings::casing('Zn framework', 'title') );
ZN FRAMEWORK
Zn 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('Zn 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('Zn 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('Zn framework') );
# CamelCase
Bu yöntem camelCase kodlama notasyonuna çevirir.
Parametreler
string | $str | İlgili dizge. |
return | string |
Kullanımı
output( Strings::camelCase('Zn framework') );
# PascalCase
Bu yöntem pascalCase kodlama notasyonuna çevirir.
Parametreler
string | $str | İlgili dizge. |
return | string |
Kullanımı
output( Strings::pascalCase('Zn framework') );
# UnderscoreCase
Bu yöntem underscore_case kodlama notasyonuna çevirir.
Parametreler
string | $str | İlgili dizge. |
return | string |
Kullanımı
output( Strings::underscore('Zn 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('Zn framework', 'frame') );
output( Strings::search('Zn framework', 'Frame', 'string', false) );
output( Strings::search('Zn 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('Zn 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('Zn framework', 'frame') );
output( Strings::searchString('Zn framework', 'Frame', false) );
framework
# SearchBetween (Paket[6.16.0][2019-08-17])
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 ZN Framework';
output( Strings::searchBetween($data, 'Hello ', ' Framework') );
# SearchBetweenBoth (Paket[6.16.0][2019-08-17])
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 ZN 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('Zn framework', 'Zn', '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 | $arr | 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 [7.2.0][2022-07-27]
Bir dizgenin sağını veya solunu belirtilen uzunlukta belirtilen sembole göre doldurur.
Parametreler
string | $str | İ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('ZN 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 [8.10.0][2024-04-12]
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 [8.11.0][2024-04-17]
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]) );