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];
?>