• 20-09-2017, 16:54:47
    #10
    Üyeliği durduruldu
    Hiç uğraşmaya gerek yok.

    Veritabanı oluştur her sayfada da tek kodla veritabanındaki desc'leri çek.
  • 20-09-2017, 18:22:49
    #11
    DWather adlı üyeden alıntı: mesajı görüntüle
    Tekrar selam,
    Static sayfalar birer .html uzantılı dosyalar mı? Yine bu kod parçacığını kullanacaksın sonuç olarak. Eğer html uzantılı dosyalar ise bu dosyalar şu şekilde yapabilirsin bunu izlemen gereken adımlar da şunlar:
    1. glob fonksiyonnu ile bu dosyaların bulunduğu dizinden .html uzantılı dosyaların dizisini al.
    2. file_get_contents yardımıyla bu dosyaları aç ve bir preg_match_all olayına girerek content div'inin içinden <p> etiketlerini topla
    3. yukarıda verdiğim substr olayından geçir ve bir kısmını al,
    4. preg_match ile bir <meta name="description" content="{DESCRIPTION}"> elementi var mı kontrol et
    4.1. Varsa:
    4.1.1. preg_replace yardımıyla file_get_contents'den gelen html kaynağında bu description'a substr'den aldığın 200 karakter metni yapıştır
    4.2. Yoksa:
    4.2.1. yine preg_replace yardımıyla file_get_contents'den gelen html kaynağında bu description'a substr'den aldığın 200 karakter metni preg_replace kullanarak <title></title>'den sonra yapıştır
    5. file_put_contents ile bu kaynağı dosyasına yaz.

    Kolay gelsin.
    Merhaba,

    Evet static sayfalar html uzantılı. Tam olarak yapmak istediğim altdaki gibi.

    <?php
    $metaDescription = substr(strip_tags(html_entity_decode($static["content"])),0,200)
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="description" content="<?php echo "$description";?>" />
    </head>
    
    
    
    
    
    
    
    <body>
    <div class="content">
    <p>The laws of England and Wales govern this agreement, without giving effect to conflict of laws provisions. The courts of England and Wales have exclusive jurisdiction over all disputes relating to or arising from the execution or performance of this agreement unless Agario wishes to initiate legal proceedings in your home legal district. In all judicial actions.</p>
    </div>
    </body>
    </html>




    Böyle bir yöntem denedim ama sadece file_get_contents('sayfa.html'); şeklinde veri geliyor, yani url olarak yazdımmı site içinden veri gelmiyor "/" kabul etmiyor.

    <?php
    $metaDescription = file_get_contents('http://<?php echo $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>');
    preg_match('#<div class="content">\s+<p>(.*?)</p>\s+</div>#',$metaDescription,$al);
    
    echo $al [1];
    ?>
  • 20-09-2017, 21:19:44
    #12
    Tekrar selam, ev taşıdım şu an sana yazıyor oluşum kendi açımdan bir mucize😂 ama bu kadar gelip burada takılman kötü hissettirdi. Kardeşim file_get_contents e neden http şeklinde yazıyosun. Direkt files/xxxxx.html olarak yazabilirsin.
  • 20-09-2017, 22:07:50
    #13
    DWather adlı üyeden alıntı: mesajı görüntüle
    Tekrar selam, ev taşıdım şu an sana yazıyor oluşum kendi açımdan bir mucize😂 ama bu kadar gelip burada takılman kötü hissettirdi. Kardeşim file_get_contents e neden http şeklinde yazıyosun. Direkt files/xxxxx.html olarak yazabilirsin.
    Bütün html sayfaların header kısmı tek bir sayfadan geliyor "header.php" kod tek bir sayfaya eklenerek tüm sayfalarda gözükmesi gerekiyor bende sayfaları url'den çağırmak istedim.
  • 20-09-2017, 22:27:55
    #14
    Kimlik doğrulama veya yönetimden onay bekliyor.
    DWather adlı üyeden alıntı: mesajı görüntüle
    Tekrar selam,
    Static sayfalar birer .html uzantılı dosyalar mı? Yine bu kod parçacığını kullanacaksın sonuç olarak. Eğer html uzantılı dosyalar ise bu dosyalar şu şekilde yapabilirsin bunu izlemen gereken adımlar da şunlar:
    1. glob fonksiyonnu ile bu dosyaların bulunduğu dizinden .html uzantılı dosyaların dizisini al.
    2. file_get_contents yardımıyla bu dosyaları aç ve bir preg_match_all olayına girerek content div'inin içinden <p> etiketlerini topla
    3. yukarıda verdiğim substr olayından geçir ve bir kısmını al,
    4. preg_match ile bir <meta name="description" content="{DESCRIPTION}"> elementi var mı kontrol et
    4.1. Varsa:
    4.1.1. preg_replace yardımıyla file_get_contents'den gelen html kaynağında bu description'a substr'den aldığın 200 karakter metni yapıştır
    4.2. Yoksa:
    4.2.1. yine preg_replace yardımıyla file_get_contents'den gelen html kaynağında bu description'a substr'den aldığın 200 karakter metni preg_replace kullanarak <title></title>'den sonra yapıştır
    5. file_put_contents ile bu kaynağı dosyasına yaz.

    Kolay gelsin.

    Çok pratik ve zekice bir cevap bence bunu kullanabilirsin.
  • 21-09-2017, 00:20:41
    #15
    DWather adlı üyeden alıntı: mesajı görüntüle
    Tekrar selam, ev taşıdım şu an sana yazıyor oluşum kendi açımdan bir mucize😂 ama bu kadar gelip burada takılman kötü hissettirdi. Kardeşim file_get_contents e neden http şeklinde yazıyosun. Direkt files/xxxxx.html olarak yazabilirsin.
    Bu şekilde hallettim. yardımların için teşekkürler.


    <?php
    $pageUrl = str_replace("/","","".$_SERVER['REQUEST_URI'].".html");
    $descT = file_get_contents($pageUrl);
    preg_match('#<div class="content">\s+<p>(.*?)</p>\s+</div>#',$descT,$al);
    ?>
    
    
    <meta name="description" content="<?php echo mb_substr($al[1],0,158);?> ..." />