PHP7'de yeni bir IntlChar sınıfı tanıtıldı. Unicode karakterleri hakkında bilgiye erişmek için kullanılabilecek bir dizi yardımcı yönteme erişim sağlar. Intl sınıfında bir dizi statik yöntem ve sabit vardır. Bunlar, altta yatan ICU (International Components for Unicode) kütüphanesi tarafından kullanılan adlara ve davranışa sıkı sıkıya bağlıdır.
Sisteminizdeki PHP kurulumunda Intl uzantısını etkinleştirmeniz gerektiğini
unutmayın. Etkinleştirmek için php.ini dosyasını açın ve açıklamayı kaldırın (satırdaki öndeki noktalı virgülü kaldırın)
Intl sınıfındaki bazı statik fonksiyonlar aşağıdaki örneklerle açıklanmıştır:
IntlChar::charAge Bu fonksiyon kod noktasının "yaşını" alır.
public static IntlChar::charAge(int|string $codepoint): ?array
"Yaş", kod noktasının ilk kez belirlendiği (karakter dışı veya Özel Kullanım için) veya bir karakterin atandığı Unicode sürümüdür.
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::charage("\u{2603}"));
?>
Aşağıdaki çıktıyı üretecektir:
array(4) {
[0]=>
int(1)
[1]=>
int(1)
[2]=>
int(0)
[3]=>
int(0)
}
IntlChar::charFromName charFromName() fonksiyonu, Unicode karakterini adına göre bulur ve kod noktası değerini döndürür.
public static IntlChar::charFromName(string $name,
int $type = IntlChar::UNICODE_CHAR_NAME): ?int
Arama için kullanılacak adların tür parametresi kümeleri. Bu sabitlerden herhangi biri olabilir:
IntlChar::UNICODE_CHAR_NAME (default)
IntlChar::UNICODE_10_CHAR_NAME
IntlChar::EXTENDED_CHAR_NAME
IntlChar::CHAR_NAME_ALIAS
IntlChar::CHAR_NAME_CHOICE_COUNT
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::charFromName("LATIN CAPITAL LETTER A"));
var_dump(IntlChar::charFromName("SNOWMAN"));
?>
Aşağıdaki çıktıyı üretecektir:
IntlChar::charName charName() fonksiyonu bir Unicode karakterinin adını alırç
public static IntlChar::charName(int|string $codepoint,
int $type = IntlChar::UNICODE_CHAR_NAME): ?string
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::charName(".", IntlChar::UNICODE_CHAR_NAME));
var_dump(IntlChar::charName("\u{2603}"));
?>
Aşağıdaki çıktıyı üretecektir:
string(9) "FULL STOP"
string(7) "SNOWMAN"
IntlChar::isalpha isalpha() fonksiyonu belirtilen kod noktasının bir harf karakteri olup olmadığını belirler. genel kategoriler "L" (harfler) için doğrudur.
public static IntlChar::isalpha(int|string $codepoint): ?bool
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::isalpha("A"));
var_dump(IntlChar::isalpha("1"));
?>
Aşağıdaki çıktıyı üretecektir:
Intl sınıfı isdigit(), isalnum(), isblank() gibi benzer statik yöntemleri tanımlar.
IntlChar::islower islower() fonksiyonu belirtilen kod noktasının genel kategorisinin "Ll" (küçük harf) olup olmadığını belirler.
public static IntlChar::islower(int|string $codepoint): ?bool
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::islower("A"));
var_dump(IntlChar::islower("a"));
?>
Aşağıdaki çıktıyı üretecektir:
Benzer şekilde isupper(), istitle(), iswhitespace() vb. fonksiyonlar da vardır.
IntlChar::toupper
Verilen karakter büyük harf karşılığına eşlenir.
public static IntlChar::toupper(int|string $codepoint): int|string|null
Eğer karakterin büyük harf karşılığı yoksa karakterin kendisi döndürülür.
Örnek Aşağıdaki örneğe bir göz atın:
PHP:Panoya kopyala
<?php
var_dump(IntlChar::toupper("A"));
var_dump(IntlChar::toupper("a"));
?>
Aşağıdaki çıktıyı üretecektir:
string(1) "A"
string(1) "A"