• 04-03-2020, 14:31:18
    #1
    Merhaba arkadaşlara. Curl ile başka bir siteden bir select içinde olan optionları almak istiyorum. Bunu nasıl yapa bilirim?
    <?php
    
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://bina.az/items/new");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $source=curl_exec($ch);
    curl_close($ch);
    echo "<pre>";
    preg_match('/<select class="category select" name="item[category_id]" id="item_category_id">(.*?)<\/select>/', $source, $div);
    print_r($div);
    ?>
  • 04-03-2020, 14:44:22
    #2
    Hocam en sağlıklı olanı regex kullanmak olur
  • 04-03-2020, 16:06:59
    #3
    InternettinHoca adlı üyeden alıntı: mesajı görüntüle
    Hocam en sağlıklı olanı regex kullanmak olur
    onu duydumda tam olarak ne işe yarıyor anlamadim))
  • 04-03-2020, 16:41:28
    #4
    https://www.regular-expressions.info/tutorial.html burda güzel bi tutorial var hocam metin içinde daha kapsamlı arama yapmanı sağlar
  • 04-03-2020, 16:49:49
    #5
    $adim1 = explode('<select', $source);
    $adim2 = explode('</select>', $adim1[1]);
    $select = $adim2[0];
    
    preg_match_all('@<option value="(.*?)">(.*?)</option>@si', $select,  $veriler);
    echo '<select name="select">';
    for($i = 0; $i < count($veriler[1]); $i++){
       $value = $veriler[1][$i];
       $name = $veriler[2][$i];
       echo '<option value="' . $value . '">' . $name . '</option>';
    }
    echo '</select>';
    Bu şekilde alabilmeniz lazım.