• 27-03-2023, 00:48:57
    #1
    Merhabalar,

    Özel yazılım scriptlerde blog içeriklerine table of content yapmak istiyorum. Elinde hazır kod olan yada nasıl yapabileceğim hakkında bilgi verebilecek olanlar var mıdır ? Şimdiden teşekkürler.
  • 27-03-2023, 00:56:44
    #2
    Web Tasarım ve Yazılım
    Beyazgul adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Özel yazılım scriptlerde blog içeriklerine table of content yapmak istiyorum. Elinde hazır kod olan yada nasıl yapabileceğim hakkında bilgi verebilecek olanlar var mıdır ? Şimdiden teşekkürler.
    Şu örnekteki gibi mi hocam
  • 27-03-2023, 00:59:33
    #3
    bostanci96 adlı üyeden alıntı: mesajı görüntüle
    Şu örnekteki gibi mi hocam
    Ama sizin gönderdiğiniz de iyi daha sonra geliştirilebilir. H etiketi olmadan ID atamanın bir yolu var mıdır diye merak ediyorum. Yazılımda içeriklerime H etiketi girdiğimde font inceliyor pek hoş gözükmüyor o yüzden farklı bir yöntem arıyorum.
  • 27-03-2023, 01:05:02
    #4
    Web Tasarım ve Yazılım
    Beyazgul adlı üyeden alıntı: mesajı görüntüle
    Ama sizin gönderdiğiniz de iyi daha sonra geliştirilebilir. H etiketi olmadan ID atamanın bir yolu var mıdır diye merak ediyorum. Yazılımda içeriklerime H etiketi girdiğimde font inceliyor pek hoş gözükmüyor o yüzden farklı bir yöntem arıyorum.
    Fonksiyon içerisinde h etiketlerini yakalayıp yapmıştım ben. h yerine farklı bişey tanımlayabilirsiniz
  • 27-03-2023, 01:05:28
    #5
    Örnekteki kod :

    Alıntı
    <ul>
    <li><a href="#baslik1">Table Of Content (İçerik Tablosu) Nedir?</a></li>
    <li><a href="#baslik2">Table Of Content (İçerik Tablosu) Ne İşe Yarar?</a></li>
    <li><a href="#baslik33">Table Of Content (İçerik Tablosu) Nasıl Kullanılır?</a></li>
    <li><a href="#baslik4">Table Of Content Nasıl Yapılır?</a></li>
    <li><a href="#baslik5">WordPress Table Of Content Eklentileri</a></li>
    <li><a href="#baslik6">Table Of Content Kullanırken Dikkat Edilmesi Gerekenler</a></li>
    <li><a href="#baslik7">Table Of Content ile Emojili Arama Sonucu</a></li>
    </ul>
    Başlık kısmı yerine benim sitemde paragraf olarak kalın yazılan başlıklara ID atamak istiyorum kendi sitemden örnek kod gönderiyim bir de ;

    <p><strong>Benim Site Örnek Başlık</strong></p>
    <p>makale ve başlık içeriği</p>
    Bahsettiğim durum <p><strong> </strong></p> bu kısma ID atayabilir miyim ?
  • 27-03-2023, 01:14:07
    #6
    Ekran Görüntüsü Olarak ;


    http://prntscr.com/rKBnI-teSMUF

    http://prntscr.com/ULHS4FHfUfyU
  • 27-03-2023, 01:48:21
    #7
    Beyazgul adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Özel yazılım scriptlerde blog içeriklerine table of content yapmak istiyorum. Elinde hazır kod olan yada nasıl yapabileceğim hakkında bilgi verebilecek olanlar var mıdır ? Şimdiden teşekkürler.
    Alttaki kodlar işinizi görür kendinize göre düzenliyebilirsiniz.

    function SeoYap($baslik)
    {
        $onceki = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', ' ', '.');
        $sonraki = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', '-', '');
        $yeni = str_replace($onceki, $sonraki, $baslik);
        $yeni = preg_replace("@[^A-Za-z0-9\.\-_]@i", '', $yeni);
        $yeni = strtolower($yeni);
        return $yeni;
    }
    function toc($html)
    {
        preg_match_all('@<p><strong>(.*?)</strong></p>@si', $html, $matches);
    
        if (empty($matches[0])) {
            return ["html" => $html, "index" => ""];
        } else {
            $index = '<h3>Hızlı Bakış</h3><ol class="toc_list">';
            $prev = 2;
            foreach ($matches[0] as $i => $match) {
    
                $curr = $matches[1][$i];
                $text = strip_tags($matches[1][$i]);
                $slug = SeoYap($text);
                $anchor = '<a name="' . $slug . '">' . $text . '</a>';
                $html = str_replace($text, $anchor, $html);
                $prev <= $curr ?: $index .= str_repeat('</ol>', ($prev - $curr));
                $prev >= $curr ?: $index .= "<ol>";
                $index .= '<li class="h6"><a href="#' . $slug . '">' . $text . '</a></li>';
                $prev = $curr;
            }
            $index .= "</ol>";
            return ["html" => $html, "index" => $index];
        }
    }
    $html = "<p><strong>Benim Site Örnek Başlık</strong></p><p>makale ve başlık içeriği</p><p><strong>Benim Site Örnek Başlık 1</strong></p><p>makale ve başlık içeriği 1</p>";
    echo toc($html)['index'];
    echo toc($html)['html'];
    Ekran Görüntüsü :

  • 27-03-2023, 01:50:36
    #8
    harew1 adlı üyeden alıntı: mesajı görüntüle
    Alttaki kodlar işinizi görür kendinize göre düzenliyebilirsiniz.

    function SeoYap($baslik)
    {
        $onceki = array('Ç', 'Ş', 'Ğ', 'Ü', 'İ', 'Ö', 'ç', 'ş', 'ğ', 'ü', 'ö', 'ı', ' ', '.');
        $sonraki = array('c', 's', 'g', 'u', 'i', 'o', 'c', 's', 'g', 'u', 'o', 'i', '-', '');
        $yeni = str_replace($onceki, $sonraki, $baslik);
        $yeni = preg_replace("@[^A-Za-z0-9\.\-_]@i", '', $yeni);
        $yeni = strtolower($yeni);
        return $yeni;
    }
    function toc($html)
    {
        preg_match_all('@<p><strong>(.*?)</strong></p>@si', $html, $matches);
    
        if (empty($matches[0])) {
            return ["html" => $html, "index" => ""];
        } else {
            $index = '<h3>Hızlı Bakış</h3><ol class="toc_list">';
            $prev = 2;
            foreach ($matches[0] as $i => $match) {
    
                $curr = $matches[1][$i];
                $text = strip_tags($matches[1][$i]);
                $slug = SeoYap($text);
                $anchor = '<a name="' . $slug . '">' . $text . '</a>';
                $html = str_replace($text, $anchor, $html);
                $prev <= $curr ?: $index .= str_repeat('</ol>', ($prev - $curr));
                $prev >= $curr ?: $index .= "<ol>";
                $index .= '<li class="h6"><a href="#' . $slug . '">' . $text . '</a></li>';
                $prev = $curr;
            }
            $index .= "</ol>";
            return ["html" => $html, "index" => $index];
        }
    }
    $html = "<p><strong>Benim Site Örnek Başlık</strong></p><p>makale ve başlık içeriği</p><p><strong>Benim Site Örnek Başlık 1</strong></p><p>makale ve başlık içeriği 1</p>";
    echo toc($html)['index'];
    echo toc($html)['html'];
    Ekran Görüntüsü :

    Teşekkürler deneyeceğim..