• 13-04-2020, 15:52:04
    #1
    Site örnek arkadaşlar. Burada problem olduğu için bununla göstereyim.
    Çok basit sadece sayfanın karakter setini alacağım ancak boş dönüyor.

    Online regex sitelerinde problem yok yada vscode regex eklentisi ile denediğimde problem yok ancak terminalde yada tarayıcıda dizi boş dönüyor.
    header('Content-type: text/html; charset=utf-8');
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.aksam.com.tr/guncel/dsoden-sevindiren-haber-geldi-3-asida-insan-testlerine-baslandi/haber-1063246");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    
    preg_match("/<meta http-equiv=\"Content-Type\" content=\"text\/html; charset=(.*)\">/mi", $output, $result);
    print_r($result);
    Bana aslında sayfanın karakter setini alacak bir fonksiyon lazım. Kendim alamıyorum bu problem yüzünden. Php'de mb_detect_encoding() fonksiyonuda düzgün çalışmıyor. Yada benim sunucuda bir problem var. localde deniyorum.
  • 13-04-2020, 15:55:36
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Konuya girmeden önce @Regex; hakkında bir konu sandım umarım sorununuz çözülür
  • 13-04-2020, 15:56:29
    #3
    header('Content-type: text/html; charset=utf-8');
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.aksam.com.tr/guncel/dsoden-sevindiren-haber-geldi-3-asida-insan-testlerine-baslandi/haber-1063246");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    preg_match("&charset=(.*?)\" />&", $output, $result);
    print_r($result);
    yukardaki kod ile yapabilrisin.
  • 13-04-2020, 16:00:57
    #4
    TekstilTurkiye adlı üyeden alıntı: mesajı görüntüle
    header('Content-type: text/html; charset=utf-8');
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.aksam.com.tr/guncel/dsoden-sevindiren-haber-geldi-3-asida-insan-testlerine-baslandi/haber-1063246");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);
    curl_close($ch);
    preg_match("&charset=(.*?)\" />&", $output, $result);
    print_r($result);
    yukardaki kod ile yapabilrisin.
    Hocam kaynakta " /> kısımı "> böyle ancak çalışıyor kod. Benmi yanlış görüyorum bu nasıl oldu.
  • 13-04-2020, 16:03:20
    #5

    dikkatli bakın hocam " /> şeklinde bitiyor.

    2 tane varmış preg_match_all() kullanırsanız ikisinde çekebilirsiniz.
  • 13-04-2020, 16:05:13
    #6
    preg_match("@<meta http-equiv="(.*?)" content="(.*?)">@si", $output, $result); denermisiniz
  • 13-04-2020, 16:08:31
    #7
    TekstilTurkiye adlı üyeden alıntı: mesajı görüntüle

    dikkatli bakın hocam " /> şeklinde bitiyor.

    2 tane varmış preg_match_all() kullanırsanız ikisinde çekebilirsiniz.
    Geliştirici aracında böyle görünüyor dünden beri çıldıracaktım. Direk kaynak koduna bakmak hiç aklıma gelmedi.


    Teşekkür ederim hocam.
  • 13-04-2020, 16:11:27
    #8
    NK_Sosyal adlı üyeden alıntı: mesajı görüntüle
    Geliştirici aracında böyle görünüyor dünden beri çıldıracaktım. Direk kaynak koduna bakmak hiç aklıma gelmedi.


    Teşekkür ederim hocam.
    ilginç.. valla bilemedim bu durumu genede sen kaynaktan bak orası garanti