Dizge Kütüphanesi


    × Bunları biliyor muydunuz?
"Theme::active() yöntemi ile görünümlerin içerisinde yer alan img, script, link gibi etiketlerin dosya yol bilgilerine dokunmadan otomatik olarak algılanmasını sağlayabilirsiniz."


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