• 06-02-2021, 00:41:18
    #1
    Merhaba..
    PHP Konusunda Çok İyi deilim.. bu yüden yardımınıza ihtiyacım var.. basit bişey muhtemelen ama yapamadım..

    Şimdi elimde şöyle bir sicriptim var.. link listeliyorum iki ayrı surtunda linki vede başlığını ayrı ayrı giriyorum ve listeliyorum..
    ama sadece veritabanına linki ekleyerek linkin title ini otomatik yazdırmak istiyorum elimde titleyi otomatik çeken kod var fkat entegre edemedim..
    Düzenleyip yazabiirseniz çok sevinirim...

    Listeleme Yaptıgım script kodum.. (basit veritababından çeken kod)

    <?php
    $sorgu = $baglanti->query("SELECT * FROM linkler");
    while ($sonuc = $sorgu->fetch_assoc()) {
    
    $id = $sonuc['id'];
    $baslik = $sonuc['baslik'];
    $link = $sonuc['link'];
    
    ?>
    
    <tr>
    <td><a href="<?php echo $link; ?>"><?php echo $baslik; ?></a></td>
    </tr>
    
    <?php } ?>
    bunlarda title çeken kodlar (2 ayrı kod var.. hangisi uygunsa onu kullanmak istiyorum)

    Kod 1
    <?php
    function TitleOku($url){
        $icerik = file_get_contents($url);
        $kalip = "|<[\s]*title[\s]*>([^<]+)<[\s]*/[\s]*title[\s]*>|Ui";
        if(preg_match($kalip, $icerik, $match))
        {
            return $match[1];
        }
        else
        {
            return false;
        }
    }
    //Fonksiyon kullanımı;
    $url = 'https://google.com';
    $title = TitleOku($url);
    
    echo "<a href=\"$url\" target=\"_blank\" title=\"$title\">$title</a>";
    
    
    ?>
    kod 3
    <?php
    
    $url = file_get_contents("https://google.com");
    
    $title = explode("<title>",$url);
    
    $title = explode("</title>",$title[1]);
    
    echo $title[0];
    
    ?>
    bu 2 title kodunu ilk verdiğim koda entegre etmek istiyorum.. yani şu şekilde (tabi böyle yapınca çalışmıyor normal olarak)

    <?php
    $sorgu = $baglanti->query("SELECT * FROM linkler");
    while ($sonuc = $sorgu->fetch_assoc()) {
    
    $id = $sonuc['id'];
    $baslik = $sonuc['baslik'];
    $link = $sonuc['link'];
    
    ?>
    
    <tr>
    <td><a href="<?php echo $link; ?>">
    
    <?php
    
    $url = file_get_contents("<?php echo $baslik; ?>");
    
    $title = explode("<title>",$url);
    
    $title = explode("</title>",$title[1]);
    
    echo $title[0];
    
    ?>
    </a></td>
    
    </tr>
    
    <?php } ?>
    bu kodu nasıl entegre edebilşriz... yazabiirmisiniz... şimdiden çok teşekkür ederim
  • 06-02-2021, 00:54:48
    #2
    <?php
    $sorgu = $baglanti->query("SELECT * FROM linkler");
    while ($sonuc = $sorgu->fetch_assoc()) {
     
    $id = $sonuc['id'];
    $baslik = TitleOku($sonuc['link']);
    $link = $sonuc['link'];
     
    ?>
     
    <tr>
    <td><a href="<?php echo $link; ?>"><?php echo $baslik; ?></a></td>
    </tr>
     
    <?php } 
    function TitleOku($url){
        $icerik = file_get_contents($url);
        $kalip = "|<[\s]*title[\s]*>([^<]+)<[\s]*/[\s]*title[\s]*>|Ui";
        if(preg_match($kalip, $icerik, $match))
        {
            return $match[1];
        }
        else
        {
            return false;
        }
    }
    
    ?>
    eger regex terimi dogruysa bu sekılde calısır hocam
  • 06-02-2021, 01:07:42
    #3
    Evet Sanırım Oldu gibi üstad.. çok teşekkür ederim..
  • 06-02-2021, 01:23:46
    #4
    OncuSOFT adlı üyeden alıntı: mesajı görüntüle
    <?php
    $sorgu = $baglanti->query("SELECT * FROM linkler");
    while ($sonuc = $sorgu->fetch_assoc()) {
     
    $id = $sonuc['id'];
    $baslik = TitleOku($sonuc['link']);
    $link = $sonuc['link'];
     
    ?>
     
    <tr>
    <td><a href="<?php echo $link; ?>"><?php echo $baslik; ?></a></td>
    </tr>
     
    <?php }
    function TitleOku($url){
        $icerik = file_get_contents($url);
        $kalip = "|<[\s]*title[\s]*>([^<]+)<[\s]*/[\s]*title[\s]*>|Ui";
        if(preg_match($kalip, $icerik, $match))
        {
            return $match[1];
        }
        else
        {
            return false;
        }
    }
    
    ?>
    eger regex terimi dogruysa bu sekılde calısır hocam
    Evet Üstad.. tam istediğim gibi.. eline sağlık...