• 27-09-2019, 10:48:35
    #1
    herkese iyi forumlar arkadaşlar,
    veritabanımda bir sütundan gelen textimi bi kaç parçaya bölüp sondaki belirsiz bir sayıda karakteri almam gerekiyor,
    gelen verilerin karakter sayısı belli değil ama %70 sabit diyebilirim örnek vermek gerekirse

    örnek 1 = "ürün ismi ürün - ürünkodu 48"
    örnek 2 = "ürün ismi ürün ismi - ürün kodu 3 - 48/50"
    örnek 3 = "ürün ismi ürün ismi ürün - ürün kodu 4 - 52"
    örnek 4 = "ürün ismi ürün - ürün kodu 1- 38/40/42"
    örnek 5 = "ürün ismi - ürünkodu 44"

    bu verdiğim örneklerde gelmektedir veriler, ben sondaki beden kısmını almam gerekiyor örnek 1 ve 5 teki gibi gelirse sondaki 2 karakter diyerek alıyorum sorun olmuyor ama diğerlerinde işler karışıyor, fikri olan arkadaşların yardımlarına ihtiyacım var,
    şimdiden teşekkürler..
  • 27-09-2019, 10:58:33
    #2
    Son boşluğa göre işlem yaptırabilirsiniz bence. Son boşluktan sonraki karakterleri al gibi.
  • 27-09-2019, 11:01:32
    #3
    düz adam adlı üyeden alıntı: mesajı görüntüle
    Son boşluğa göre işlem yaptırabilirsiniz bence. Son boşluktan sonraki karakterleri al gibi.
    ürünkodu metninden sonraki boşlukmu hocam, boşlukların net sayısı belli değil yanlız yani şu boşluktan sonrakini al diyemem.
  • 27-09-2019, 11:10:04
    #4
    Tire (-) ' leri saydırın. 1 tire (-) demek ürün başlığı ve kodu demek. 2 tire (-) demek başlık,kod ve beden demek. Buna göre o sondaki $a,-2 değerini elde edebilirsiniz.
  • 27-09-2019, 11:10:25
    #5
    strrpos ile son boşluğun konumu bulabiliriz. Eve geçince bir kaç deneme yapıp yazarım tekrar konuya.
  • 27-09-2019, 11:15:00
    #6
    regexp ile çözülür
  • 27-09-2019, 11:19:37
    #7
    gencbeyin adlı üyeden alıntı: mesajı görüntüle
    regexp ile çözülür
    örnek ile biraz daha açmanız mümkünmü hocam.
  • 27-09-2019, 12:21:56
    #8
    https://paste.ee/p/zy9V9

    Verdiğiniz 5 örnekte de çalışıyor.
  • 27-09-2019, 12:24:16
    #9
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ByMezarkabul adlı üyeden alıntı: mesajı görüntüle
    örnek ile biraz daha açmanız mümkünmü hocam.
    Bende böyle birşey hazırladım regex ile ilgili örnek olsun elinizde.

    $cumle1 = "ürün ismi ürün - ürünkodu 48";
    $cumle2 = "ürün ismi ürün ismi - ürün kodu 3 - 48/50";
    $cumle3 = "ürün ismi ürün ismi ürün - ürün kodu 4 - 52";
    $cumle4 = "ürün ismi ürün - ürün kodu 1- 38/40/42";
    $cumle5 = "ürün ismi - ürünkodu 44";
    
    $arrX = array($cumle1,$cumle2,$cumle3,$cumle4,$cumle5);
    
    $randIndex = array_rand($arrX);
    
    $pattern = '/((d{2}/d{2}/d{2})|(d{2}/d{2})|(d{2}))/';
    $content = $arrX[$randIndex]; // $cumle1 .. gibi elle ekleyip direkt sonucu da görebilirsin
     
    preg_match_all($pattern, $content, $results);
     
    print_r($results[0]);