• 25-10-2021, 12:48:57
    #1
    Arkadaşlar,
    Bir blog içeriğim var tamamını alt kısımdaki kod ile basıyor. Ben istiyorum ki ilk paragrafı contentten ayırsın ve h1 (başlık) altına bassın. Php ile bu mümkün müdür ? Uzman arkadaşlar destek olabilir mi?
    $content = htmlspecialchars_decode($page['page_content']);
  • 25-10-2021, 12:55:39
    #2
    Elbette mümkündür şu şekilde halledebilirsiniz.
    $explode = explode(PHP_EOL, $content);
    $title = $explode[0]; // Burası ilk satır
    unset($explode[0]); // ilk satırı içerikten sil
    $content = implode(PHP_EOL, $explode); // içeriği yeniden birleştir
    echo '<h1>'.$title.'</h1>';
    echo '<p>'.$content.'</p>';
  • 25-10-2021, 12:58:18
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    paragraf mı yoksa sadece ilk cümle mi h1 olacak?
  • 25-10-2021, 12:59:39
    #4
    nacrept adlı üyeden alıntı: mesajı görüntüle
    Elbette mümkündür şu şekilde halledebilirsiniz.
    $explode = explode(PHP_EOL, $content);
    $title = $explode[0]; // Burası ilk satır
    unset($explode[0]); // ilk satırı içerikten sil
    $content = implode(PHP_EOL, $explode); // içeriği yeniden birleştir
    echo '<h1>'.$title.'</h1>';
    echo '<p>'.$content.'</p>';
    TenThemes adlı üyeden alıntı: mesajı görüntüle
    paragraf mı yoksa sadece ilk cümle mi h1 olacak?
    Paragraf hocam
    hata verdi hocam tam kısım şu şekilde,


        <article class="article"><hr>
                                    <?php
                                    $content = htmlspecialchars_decode($page['page_content']);
                                    
                                    $content = str_replace('"list"', '"list list-type-check mb-4"', $content);
                                    $content = str_replace('"alert alert-warning"', '"alert alert-light alert-warning mb-3"', $content);
                                    $content = str_replace('"alert alert-primary"', '"alert alert-light alert-primary mb-3"', $content);
                                    $content = str_replace('"alert alert-secondary"', '"alert alert-light alert-secondary mb-3"', $content);
                                    $content = str_replace('"alert alert-success"', '"alert alert-light alert-success mb-3"', $content);
                                    $content = str_replace('"alert alert-danger"', '"alert alert-light alert-danger mb-3"', $content);
                                    $content = str_replace('"alert alert-info"', '"alert alert-light alert-info mb-3"', $content);
                                    $content = str_replace('"alert alert-light"', '"alert alert-light alert-light mb-3"', $content);
                                    $content = str_replace('"alert alert-dark"', '"alert alert-light alert-dark mb-3"', $content);
                                    $content = str_replace('target="_blank"', 'rel="nofollow" target="_blank"', $content);
                                    $_content = "";
    
                                    $paragraphAfterOne = 1;
                                    $paragraphAfterTwo = 3;
    
                                    $content = explode("</p>", $content);
    
                                    for ($i = 0; $i <count($content); $i++ ) {
                                        if ( $i == $paragraphAfterOne ){ $_content .= $settings["blog-one-banner"]; }
                                        if ( $i == $paragraphAfterTwo ){ $_content .= $settings["blog-two-banner"]; }
                                        $_content .= $content[$i] . "</p>";
                                    }
    
                                    echo $_content;
                                    ?>
                                </article>
  • 25-10-2021, 12:59:56
    #5
    Paragrafın nasıl olduğu önemli.

    Mesela content'i htmlspecialchars_decode fonksiyonundan geçirmeden önce paragrafın aşağıda ki gibi ise:

    Örnek Paragraf:
    Birinci Paragraf
    İkinci paragraf
    Burada örnek olarak explode ile satırları parçalayıp ilk satıırı alıp tekrar implode ile birleştirebilirsin.
    Örn:
    $content = explode(PHP_EOL, $content);
    $h1Title = $content[0];
    unset($content[0]);
    $content = implode(PHP_EOL, $content);
    Yok eğer htmlspecialchars_decode edilmeden önce satır satır değil, yazılar birleşik ve HTML kodlar da var ise.
    htmlspecialchars_decode fonksiyonundan geçirdikten sonra preg_match fonksiyonu ile ilk p tagını alabilirsin.

    Örnek Paragraf:

    <p>Paragraf 1</p><p>Paragraf 2</p>
    Örneğin:
    $content = htmlspecialchars_decode($content);
    preg_match('/<p>(.*?)<\/p>/', $content, $h1Title);
    Hızlı hızlı yazdım ufak tefek hatalar olabilir. Ama bu veya buna benzer mantıklarla gidersen istediğin satırı almak için türlü türlü yöntemler bulunmaktadır.
  • 25-10-2021, 13:03:07
    #6
    WYSIWYG Html Editor kullanin gerek yok hicbirine
  • 25-10-2021, 13:39:53
    #7
    Merhabalar,

    İlla ilk paragraf olsun demiyorsanız. Aşağıdaki kısaltma fonksiyonu ile istediğiniz karakter sayısı kadar kolayca özet içerik oluşturabilirsiniz.

    https://salimsevindik.blogspot.com/2...lediginiz.html
  • 25-10-2021, 14:07:25
    #8
    @nacrept; sağolsun halletti, teşekkür ederim kendisine.