• 17-04-2020, 16:42:10
    #1
    https://prnt.sc/s17txm

    Elimde bu tarz veriler var, ayrı ayrı hepsini veritabanına aliyorum aşağıda paylaştığım kod ile;

    while(!$dosya->eof())
    {
        $satir=$dosya ->fgets();
        list($name,$section,$initialname)=explode(' ',$satir);
        
       $sth= $baglan->prepare('INSERT INTO tablo1 values (NULL,?,?,?,NULL)');
        $sth->bindValue(1,$name,PDO::PARAM_STR);
        $sth->bindValue(2,$section,PDO::PARAM_INT);
        $sth->bindValue(3,$initialname,PDO::PARAM_STR);
        $sth->execute();
        
    }
    Fakat yazdığım kod sadece 1 boşluk olduğunda ekleme işlemi gerçekleştiriyor, explode() kısmında 1 boşluk için ayarlama yapmıştım çünkü, çoklu boşluk ayarlamaya çalışınca parametre hatasi aliyorum haliyle. Ne kadar boşluk olursa olsun explode edebileceğim bir kodu bulamadım, yardımcı olursanız çok sevinirim.
  • 17-04-2020, 16:48:03
    #2
    İşleme başlamadan bir editör ile toplu şekilde iki boşluğu tek boşluğa indirebilirsin.
    php ile de boşluk sayısını saydırıp replace ettirebilirsin (tek boşluğa)
  • 17-04-2020, 16:54:13
    #3
    Platin üye
    $content = preg_replace('/\s+/', ' ', $content);
    Öncelikle dosya içindeki yanyana birden fazla olan boşlukları tek boşluğa indirgeyebilirsiniz.

    Kolaylıklar dilerim.
  • 17-04-2020, 16:56:23
    #4
    $str = 'name   section     initialname!';
    $split = preg_split('/ +/', $str);
    
    print_r($split);
    anladığım kadarıyla bu işinize yarar.

    Test etmek için online editör;
    http://www.writephponline.com/
    Codeshare;
    https://codeshare.io/GLR6qb