• 31-08-2020, 18:16:21
    #1
    Merhabalar, aşağıdaki şekilde adresler var elimde,
    • Esenkent Mahallesi - Esenyurt / Istanbul
    • Tahsin Yazici Mahallesi - Karabağlar / Izmir
    • Zafer Mahallesi - Bahçelievler / Istanbul
    Bu adreslerden sadece yeşille işaretlediğim ilçe ve il bilgisini almam lazım şu şekilde: "Bahçelievler / Istanbul"

    Bir kaç şey denedim ama tam sonuca ulaştıramadım. Mahalle 3 kelimeden oluşunda kod patlıyor. Yardımcı olursanız sevinirim.

    Not: veritabanında il ve ilçe bilgisi direkt id olarak var ama her seferinde on binlerce veri arasından il ve ilçe aramak pek hoşuma gitmedi. O nedenle direkt konumu parçalamak istiyorum
    Not2: Başlıkta son 3 dememin sebebi, boşluk sayılırken her boşluk bir kelimeymiş gibi varsayılıyor, o nedenle
  • 31-08-2020, 18:19:36
    #2
    dev
    Kurumsal Üye
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, aşağıdaki şekilde adresler var elimde,
    • Esenkent Mahallesi - Esenyurt / Istanbul
    • Tahsin Yazici Mahallesi - Karabağlar / Izmir
    • Zafer Mahallesi - Bahçelievler / Istanbul
    Bu adreslerden sadece yeşille işaretlediğim ilçe ve il bilgisini almam lazım şu şekilde: "Bahçelievler / Istanbul"

    Bir kaç şey denedim ama tam sonuca ulaştıramadım. Mahalle 3 kelimeden oluşunda kod patlıyor. Yardımcı olursanız sevinirim.

    Not: veritabanında il ve ilçe bilgisi direkt id olarak var ama her seferinde on binlerce veri arasından il ve ilçe aramak pek hoşuma gitmedi. O nedenle direkt konumu parçalamak istiyorum
    Not2: Başlıkta son 3 dememin sebebi, boşluk sayılırken her boşluk bir kelimeymiş gibi varsayılıyor, o nedenle
    explode fonksiyonunu kullanabilirsin.

    https://tehplayground.com/pB6Rr7ndmiW2zmpL
  • 31-08-2020, 18:25:02
    #3
    Biraz mola vermem sanırım, olay bu kadar basitti, neden aklıma gelmediyse.....
    <?php $konumDizi = explode(" ",$ilanKonum); print_r($x);
    $konumDiziCount = count($konumDizi);
    echo $konumDizi[$konumDiziCount-1]." ".$konumDizi[$konumDiziCount-2]. " ". $konumDizi[$konumDiziCount-3];
    ?>
    Noroc adlı üyeden alıntı: mesajı görüntüle
    explode fonksiyonunu kullanabilirsin.

    https://tehplayground.com/pB6Rr7ndmiW2zmpL
  • 31-08-2020, 20:16:27
    #4
    $satir_arr = explode('-',$satir);
    $arr_ilice = explode('/ ',$satir_arr[1]);
    $il = $arr_ilice[0];
    $ilce = $arr_ilice[1];
    fonksiyon olarak kullanmak ister isen

    function parcala($satir){
      $satir_arr = explode('-',$satir);
      $arr_ilice = explode('/ ',$satir_arr[1]);
      $il = $arr_ilice[0];
      $ilce = $arr_ilice[1];
      $data = array(
        'il' => trim($il),
         'ilce' => trim($ilce)
      );
     return $data;
    }
  • 01-09-2020, 05:30:08
    #5
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, aşağıdaki şekilde adresler var elimde,
    • Esenkent Mahallesi - Esenyurt / Istanbul
    • Tahsin Yazici Mahallesi - Karabağlar / Izmir
    • Zafer Mahallesi - Bahçelievler / Istanbul
    Bu adreslerden sadece yeşille işaretlediğim ilçe ve il bilgisini almam lazım şu şekilde: "Bahçelievler / Istanbul"

    Bir kaç şey denedim ama tam sonuca ulaştıramadım. Mahalle 3 kelimeden oluşunda kod patlıyor. Yardımcı olursanız sevinirim.

    Not: veritabanında il ve ilçe bilgisi direkt id olarak var ama her seferinde on binlerce veri arasından il ve ilçe aramak pek hoşuma gitmedi. O nedenle direkt konumu parçalamak istiyorum
    Not2: Başlıkta son 3 dememin sebebi, boşluk sayılırken her boşluk bir kelimeymiş gibi varsayılıyor, o nedenle

    $re = '/([A-Za-zışçğöüİŞÇĞÖÜ ]+[\/]+[A-Za-zışçğöüİŞÇĞÖÜ ]+)/';
    $str = 'Esenkent Mahallesi - Esenyurt / Istanbul
    Tahsin Yazici Mahallesi - Karabağlar / Izmir
    Zafer Mahallesi - Bahçelievler / Istanbul';
    
    preg_match_all($re, $str, $matches);
    
    var_dump($matches);
    Mobilden yazdım hatalar olabilir.