lostyazilim

PHP kullanılacak fonksiyon?

7 Mesajlar 1.084 Okunma
lstbozum
wmaraci reklam

Ozzo Ozzo Php-Mysql Kullanıcı
  • Üyelik 16.05.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Bilişim
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 14
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)
Merhaba ufak bir çalışma var tam olarak Php diline hakim değilim.
Hangi fonksiyonlar kullanılacak bilmiyorum açıkçası çok zor değil fakat ben çözemedim yardımcı olursanız sevinirim.
Text içerisine bir metin yazılacak ve bu metini kelimelere bölerek kaç defa aynı kelimeden olduğunu bulacak kısaca sayı olarak gösterecek.
 

 

wmaraci
reklam

balporsugu balporsugu WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 38 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad E** E**
  • Mesajlar 510
  • Beğeniler 85 / 84
  • Ticaret 3, (%67)
asp.net kurtarır ise yardımcı olabilirim.
Ozzo

kişi bu mesajı beğendi.

Ozzo Ozzo Php-Mysql Kullanıcı
  • Üyelik 16.05.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Bilişim
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 14
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)

balporsugu adlı üyeden alıntı

asp.net kurtarır ise yardımcı olabilirim.


Teşekkür ederim. Php gerekli :)
 

 

Oktay Oktay Blog Yazarı, Lojistisyen Kullanıcı
  • Üyelik 03.08.2012
  • Yaş/Cinsiyet 30 / E
  • Meslek Lojistik Operasyon Uzmanı
  • Konum İstanbul Avrupa
  • Ad Soyad O** Y**
  • Mesajlar 88
  • Beğeniler 25 / 24
  • Ticaret 0, (%0)
sr_word_count fonksiyonu işine yarayabilir belki.
http://php.net/manual/tr/function.str-word-count.php
 

 

oktayy.net - kişisel blogum.
wmaraci
wmaraci

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)



Bul











if (!empty($_POST["alan"])){
//// alan postu boş gönderilmediyse
$yazi=$_POST['alan'];
/// gelen veri yazi değişkeninde
$parcala = explode(" ", $yazi);
/// diziye aktardık
$cevir=count($parcala);
/// dizi eleman sayısını bulduk
for ($i = 0; $i < $cevir; $i++) {
/// Dizi elaman sayısı adedince döngü döndürdük
$say = preg_match_all('/'.$parcala[$i].'/',$yazi,$ne);
/// dizideki her bir elemanın cümlede kaç tane olduğunu saydırdım ve $ne değişkenine aktardım
$kactanevar[$i]=count($ne[0]);
//// $ne[0] değişkeni cümlede kaç tane oldugunu belirtir ve cevabı $kactanevar diye dizi oluşturup ona attım.
//// Sonuc olarak eleman adedince 2 dizim oldu ve parcala değişkenimin birinci elamanı $kactanevar değişkenimin birinci elemanına denk geldi
//// $kactanevar değişkeninde kelimenin sayısını tuttum $parcala değişkenindede kelimeleri
}
echo 'Cümle:'.$yazi.'
';
/// Gelen cümleyi normal yazdırıyorum
for ($a = 0; $a < $cevir; $a++) {
/// Eleman adedince tekrar döngüye sokuyorum
echo $parcala[$a].'('.$kactanevar[$a].')';
//// Artan değer $a değişkeni
//// $parcala değişkenimde kelimeleri tutuyordum yanınada $kactanevar yani saydırdıgım değeri yazdırıyorum.
}


}

?>
Ozzo

kişi bu mesajı beğendi.

Ozzo Ozzo Php-Mysql Kullanıcı
  • Üyelik 16.05.2013
  • Yaş/Cinsiyet 36 / E
  • Meslek Bilişim
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 14
  • Beğeniler 9 / 1
  • Ticaret 0, (%0)
@brkrtp; Çok teşekkür ediyorum çok sağ ol
 

 

brkrtp brkrtp Mobile App Developer Kullanıcı
  • Üyelik 24.08.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Mobile App Developer
  • Konum İstanbul Anadolu
  • Ad Soyad B** K**
  • Mesajlar 964
  • Beğeniler 269 / 251
  • Ticaret 31, (%97)

Ozzo adlı üyeden alıntı

@brkrtp; Çok teşekkür ediyorum çok sağ ol

Küçük harf tekrarlama vs gibi sorunların hepsi giderildi. Demo: http://trteamspeak.com/deneme.php




Bul











//// Kelimelerdeki türkçe harfleri kaldırıyoruz ki sayım daha net yapılsın
function replace_tr($text) {
$text = trim($text);
$search = array('Ç','ç','Ğ','ğ','ı','İ','Ö','ö','Ş','ş','Ü','ü');
$replace = array('c','c','g','g','i','i','o','o','s','s','u','u');
$new_text = str_replace($search,$replace,$text);
return $new_text;
}
/// yazıdaki noktalamalarıda kaldırıyoruz ki noktaları kelimeden saymasın.
function noktalama($text) {
$text = trim($text);
$search = array('.',',',':',';','!','?');
$replace = array('','','','','','');
$new_text = str_replace($search,$replace,$text);
return $new_text;
}
if (!empty($_POST["alan"])){
//// alan postu boş gönderilmediyse
/// ilk yazı değişkeninde noktalama kaldırıyoruz ingilizceye dönüştürüyoruz ve küçük harf dönüştürüyoruz ki harflerin hiçbir şekilde ayrımını yapmasın
$yazi=strtolower(replace_tr(noktalama($_POST['alan'])));
$yazi2=$_POST['alan'];
/// yazı2 değişkeninide değiştirmeden cümleniz budur diye cıktı vermek için kullanıyoruz.
/// gelen veri yazi değişkeninde
$parcala = explode(" ", $yazi);
/// diziye aktardık
$cevir=count($parcala);
/// dizi eleman sayısını bulduk
for ($i = 0; $i < $cevir; $i++) {
$parcala[$i]=trim($parcala[$i]);
/// Dizi elaman sayısı adedince döngü döndürdük
$say = preg_match_all('/'.$parcala[$i].'/',$yazi,$ne);
/// dizideki her bir elemanın cümlede kaç tane olduğunu saydırdım ve $ne değişkenine aktardım
///$harf değişkeni ile kelimelerin sayıları aynı geldiğinde silmemesi için kelimenin ilk 3 karakterinide kelimenin kaç defa geçtiği diziye yazdım
$harf=substr($parcala[$i] , 0,3);
$kactanevar[$i]=$harf.count($ne[0]);
//// $ne[0] değişkeni cümlede kaç tane oldugunu belirtir ve cevabı $kactanevar diye dizi oluşturup ona attım.
//// Sonuc olarak eleman adedince 2 dizim oldu ve parcala değişkenimin birinci elamanı $kactanevar değişkenimin birinci elemanına denk geldi
//// $kactanevar değişkeninde kelimenin sayısını tuttum $parcala değişkenindede kelimeleri
}
echo 'Cümle:'.$yazi2.'
';
/// Gelen cümleyi normal yazdırıyorum
///// Aynı elemanları silelim array_unique ile siliyoruz. array_values ile değerlerini alıyoruz
$sparcala = array_values(array_unique($parcala));
$skactane = array_values(array_unique($kactanevar));
//print_r($skactane);
$say=count($sparcala);
/// aynı değerler silindiği için dizimizin yeni eleman degerini say değişkenine atıyorum

for ($a = 0; $a < $say; $a++) {
$ksay=strlen($skactane[$a]);
//// $ksay değişkeninde kelimenin kaç tane karakteri oldugunu buldum. Çünkü ilk 3 harfi kelimenin ilk 3 harfini içeriyor sonraki harfler ise sayısını belirtiyor.
$cc=substr($skactane[$a] , 3,$ksay);
/// $cc değişkenindede ilk 3 kodu gizliyorum ve cıkacak sayıyı ekrana bastıyorum tamamını değil.
/// Eleman adedince tekrar döngüye sokuyorum
echo $sparcala[$a].'('.$cc.')';
//// Artan değer $a değişkeni
//// $parcala değişkenimde kelimeleri tutuyordum yanınada $kactanevar yani saydırdıgım değeri yazdırıyorum.
}


}

?>
Ozzo

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al