Dizge Kütüphanesi


    × Bunları biliyor muydunuz?
"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 ');
Znframework 

 

 

# 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/');
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');
/product

Ön ek zaten varsa tekrar ekleme yapılmaz.

echo Strings::addPrefix('/product');
/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');
duct

 

 

# 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', '!');
product!

Son ek zaten varsa tekrar ekleme yapılmaz.

echo Strings::addSuffix('product!', '!');
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');
pro

 

 

# 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');
/product/

Ön ve son ek zaten varsa tekrar ekleme yapılmaz. Ancak olmayan tarafa ekleme yapılır.

echo Strings::addBothFix('/product');
/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/');
product

Ek tek tarafta ise işlemi sadece o taraf için gerçekleştirir.

echo Strings::removeBothFix('/product');
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
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') );
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') );
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') );
Zn Framework 

 

 

# CamelCase


Bu yöntem camelCase kodlama notasyonuna çevirir.

Parametreler

string $str İlgili dizge.
return string

Kullanımı

output( Strings::camelCase('Zn framework') );
znFramework 

 

 

# PascalCase


Bu yöntem pascalCase kodlama notasyonuna çevirir.

Parametreler

string $str İlgili dizge.
return string

Kullanımı

output( Strings::pascalCase('Zn framework') );
ZnFramework 

 

 

# UnderscoreCase


Bu yöntem underscore_case kodlama notasyonuna çevirir.

Parametreler

string $str İlgili dizge.
return string

Kullanımı

output( Strings::underscore('Zn framework') );
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
framework

 

 

# 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
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') );
ZN

 

 

# 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') );
lo ZN 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') );
framework Zn 

 

 

# 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') );
3

 

 

# 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']) );
Foo bar BAZ BAR coo 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) );
bar
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
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) );
00020

Doldurma Sayısı [int $completeCount]

output( Strings::repeatComplete('20', 10) );
0000000020

Farklı Sembol [string $completeSymbol = '0']

output( Strings::repeatComplete('20', 5, 'x') );
xxx20

Doldurma Yönü [string $direction = 'left']

output( Strings::repeatComplete('20', 5, 'x', 'right') );
20xxx
Not: Karakter uzunluğu 2. parametrenin değerinden büyükse herhangi bir doldurma işlemi yapılmaz.
output( Strings::repeatComplete('ZN Framework', 5, 'x', 'right') );
ZN Framework

 

 

# 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') );
0 => string 'F' ( length = 3 ),
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) );
0 => string 'Foo' ( length = 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') );
0 => string 'Foo' ( length = 3 ),
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) );
A

 

 

# 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') );
65

 

 

# 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") );
Foo
bar 
baz
Baz
coo
baz

 

 

# Divide


Biz dizgeden ayraca göre belirlenen bölümlerin alınmasını sağlar.

5.6.1 Güncellemesi 

scalar $count = 1 -> 4. parametresi eklenmiştir. Bu parametre ile birden fazla bölümde yakalanabilir.

Parametreler
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
Kullanımı
echo Strings::divide('hi/guys/i/am/here', '/');
hi
echo Strings::divide('hi/guys/i/am/here', '/', -1);
here
echo Strings::divide('hi/guys/i/am/here', '/', 0, 2);
hi/guys
echo Strings::divide('hi/guys/i/am/here', '/', 2, -1);
i/am/here 
echo Strings::divide('hi/guys/i/am/here', '/', -2, -1);
am/here

 

 

# 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') );
a => 1
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]) );
a=1&b=2