Nisan 24, 2020

Php yazının okunma süresini hesaplama

Yazınızın bulunduğu sayfaya aşağıdaki fonksiyonu ekleyin.

<?php

function readingTime($content = "", $readingSpeed = 2)
{
    $fiftySeconds = 50; //Saniye bazında en yüksek değer - Max value per second
    $oneMinute = 60; //Bir dakika 60 saniyiedir - One minute 60 seconds
    $totalSecondsInOneHour = 3600; //1 saatteki toplam saniye - Total seconds in 1 hour

    //Parametre olarak gelen içerikten html taglarını kaldırır.
    //Ardından boşlukları baz alarak, içerikte kaç kelime olduğunu hesaplar.

    //Removes html tags from content that comes as a parameter.
    //It then calculates how many words are in the content, based on gaps.
    $wordCount = round(count(explode(" ", strip_tags($content))));

    //Kelime sayısını, parametre olarak gelen hız değerine (varsayılan olarak 2) bölerek okuma hızını hesaplar.
    //Calculates the reading speed by dividing the word count by the incoming speed value (default is 2).
    $readingTime = ceil($wordCount / $readingSpeed);

    //Okuma süresi 1 dk'nın aşağısında ise çıktıyı saniye bazında verir.
    //If the reading time is below 1 min, the output is given in seconds.
    if ($readingTime < $fiftySeconds)
    {
        $second = intval($readingTime / 10);
        $second++;
        $second *= 10;
        echo "$second saniye";
        //echo "$second second";
    }

    //Okuma süresi 1 dk'nın üzerinde ise çıktıyı dakika bazında verir.
    //If the reading time is above 1 min, output is given in minutes.
    else if ($readingTime < $totalSecondsInOneHour)
    {
        $minute = ceil($readingTime / $oneMinute);
        echo "$minute dakika";
        //echo "$minute minute";
    }

    //Okuma süresi 1 saatin üzerinde ise çıktıyı saat bazında verir.
    //If the reading time is over 1 hour, the output is given in hours.
    else
    {
        $hour = floor($readingTime / $totalSecondsInOneHour);
        echo "$hour saat";
        //echo "$hour hour";
    }
}

?>

Kullanımı:

				<span><i class="icon-clock"></i>&nbsp;&nbsp;Bu yazıyı <?php

$cumle = "içerik veya içerik kodunuz buraya gelicek";


readingTime($cumle);  // "20 saniye" çıktısını verir.

?> okuyabilirsiniz.</span>

 

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Fatal error: Uncaught Error: Call to undefined method Ressio_HtmlOptimizer_Dom_Element::addChild() in /home/altiltoy/siteler/serdarakyol.com/wp-content/plugins/psn-pagespeed-ninja/ress/classes/htmloptimizer/dom.php:182 Stack trace: #0 /home/altiltoy/siteler/serdarakyol.com/wp-content/plugins/psn-pagespeed-ninja/ress/classes/plugin/widgets/widgets.php(66): Ressio_HtmlOptimizer_Dom->appendScriptDeclaration('!function(e,t,n...', Array, Object(Ressio_HtmlOptimizer_Dom_Element)) #1 /home/altiltoy/siteler/serdarakyol.com/wp-content/plugins/psn-pagespeed-ninja/ress/classes/plugin/widgets/widgets.php(151): Ressio_Plugin_Widgets->injectJsLoader(Object(Ressio_HtmlOptimizer_Dom), Object(Ressio_HtmlOptimizer_Dom_Element)) #2 /home/altiltoy/siteler/serdarakyol.com/wp-content/plugins/psn-pagespeed-ninja/ress/classes/dispatcher.php(117): Ressio_Plugin_Widgets->onHtmlIterateTagSCRIPTBefore(Object(Ressio_Event), Object(Ressio_HtmlOptimizer_Dom), Object(Ressio_HtmlOptimizer_Dom_Element)) #3 /home/altiltoy/siteler/serdarakyol.com/wp-content in /home/altiltoy/siteler/serdarakyol.com/wp-content/plugins/psn-pagespeed-ninja/ress/classes/htmloptimizer/dom.php on line 182