Kategoriler
Kodlama

Türkçe Karakter Destekli Ucwords() (PHP)

PHP UTF8 de Ucwords() gibi bu tür çevirilerde (İ-ı) dönüşümlerinde problem yaşanmaktadır. Çözmek için bunu kullanabilirsiniz.

PHP UTF8 de Ucwords gibi bu tür çevirilerde yalnızca i -> İ dönüşümünde problem yaşanmaktadır, tabii ikisi de I’dan ı’ya ve i’den İ’ye. Bunu çözmek için aşağıdaki fonksiyonu kullanabilirsiniz.

function ilkBuyuk($str) {
return ltrim(mb_convert_case(str_replace('i', 'İ',$str), MB_CASE_TITLE, 'UTF-8'));
}

Veya daha güzeli:

/* Türkçe Destekli İlk Harf Büyük Diğerleri Küçük */
function ilkBuyukTR($str) {
return ltrim(mb_convert_case(str_replace('i', 'İ',mb_strtolower($str)), MB_CASE_TITLE, 'UTF-8'));
}

İkincisi öncelikle metnin tümünü küçültüyor.

Ve en iyisi:

/* Türkçe Destekli İlk Harf Büyük Diğerleri Küçük Final */
function ucwords_tr($str) {
return ltrim(mb_convert_case(str_replace(array('i','I'), array('İ','ı'),mb_strtolower($str)), MB_CASE_TITLE, 'UTF-8'));
}

Kaynak: https://www.php.net/manual/tr/function.mb-convert-case.php

Bu arada PHP8 çıktı, yayında. Daha iyi performans demiş ama henüz deneyemedim.

PHP 8.0, PHP dili için önemli bir güncellemedir.
Optimizasyonlar ve yeni özellikler: Adlandırılmış Değişkenler, Union Types, Attributes, Kurucularda Özellik Tanımı, Match İfadesi, Nullsafe Operatorü, JIT(Anında Derleme) yanında tip sistemi, hata işleme ve tutarlılıkta iyileştirmeler içerir.

https://www.php.net/releases/8.0/en.php

Bu arada bazen yukarıdaki kod ile çevirimde şapkalı i harfi sorunu olabiliyormuş, bu şekilde bir sorunla karşılaşırsanız testlerime göre final en iyi performanslı çalışan kod aşağıdaki gibi:

function ilkBuyukTR($str){
	$str = mb_strtolower($str);
return str_replace('i̇','i',ltrim(mb_convert_case(str_replace(array('i','I'),array('İ','ı'),$str),MB_CASE_TITLE,'UTF-8')));
}

Kolay gelsin.

wolkanca.com’da Türkçe Karakter Destekli Ucwords() (PHP) veya diğer konular hakkında herhangi bir sorunuz varsa, sosyal medya butonları ile yorum ya da mesaj göndermekten çekinmeyin, Türkçe Karakter Destekli Ucwords() (PHP) için ya da değil DM kapısı her daim açık. Yazıyı beğendiyseniz paylaşın, daha fazla ilgili gönderi için hemen aşağıdaki menülere göz gezdirebilirsiniz, okuduğunuz için teşekkürler, saygılar sevgiler.

WOLKANCA

Volkan Yılmaz

Digital Marketing & WordPress & SEO - wolkanca mahallesi gmail sokak nokta com.