PHP str_word_count Karakter Problemi

Arkadaşlarınızla Paylaşın!

str_word_count_php_turkce_karakter

Bu yazıda kısaca bir cümle içerisinde hangi kelimeden kaçar tane var bulmaya yarayan str_word_count fonksiyonundaki türkçe karakter problemine değineceğiz.Bu türkçe karakterlerle karşılaştığımızda aldığımız bir hatadan bahsedeceğiz ve elbette bunun çözümüne değineceğiz.

PHP’deki str_word_count fonksiyonu ile türkçe bir kelimeyi bölmeye çalıştığınızda aşağıdaki gibi bir ayrım alıyor olabilirsiniz.

$str = “Merhaba. İçerisinde türkçe karakterler ve tırnak \” işareti gibi bulunan bir cümle.”;
$words = str_word_count($str, 1);
print_r($words);

Array
(
[0] => Merhaba
[1] => erisinde
[2] => t
[3] => rk
[4] => e
[5] => karakterler
[6] => ve
[7] => t
[8] => rnak
[9] => i
[10] => areti
[11] => gibi
[12] => bulunan
[13] => bir
[14] => c
[15] => mle
)

Latin karakterler haricindeki karakterler ve noktalama işaretlerinin ilgili stringi kelime gruplarına ayırdığını görebiliyoruz. Bunu önlemek için ;

str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

fonksiyon tanımındaki charlist parametresinden yararlanacağız. Cümlemizde kelime grubu içerisinde bulunabilecek karakterleri ;

$words = str_word_count($str, 1,”ığüşöçĞÜŞİÖÇ.,\””);

şeklinde tanımlayarak çıktımızı aşağıdaki hale getirebiliriz.

Array
(
[0] => Merhaba.
[1] => İçerisinde
[2] => türkçe
[3] => karakterler
[4] => ve
[5] => tırnak
[6] => ”
[7] => işareti
[8] => gibi
[9] => bulunan
[10] => bir
[11] => cümle.
)

Buarada bir hatırlatma. $format parametresi 0 ile string içerisindeki toplam kelime  sayısını, 1 ile tüm kelimelerin dizi çıktısını, 2 ile bulunan kelimenin harf sıralaması olarak kaçıncı sırada olduğunu elde ediyoruz.

Kolaylıklar.

 

Yazar: Teknoloji24

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir