Adicionar tempo aproximado de leitura em artigos

  • Autor Autor GizmoIHS
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
GizmoIHS

GizmoIHS

Gamma
Verificación en dos pasos activada
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola amigos, saludos... EL siguiente código me animé a escribirlo porque lo necesitaba implementar para mi web y quería compartirlos con ustedes ya que lo vi como un plugin en wordpress y me pareció interesante mostrar esto. No es difícil de implementar si programas tu web en php html y css... Se puede implementar para wordpress (sin plugins) pero deben extraer la información de la descripción de su artículo contenida en la base de datos.

Medir y promediar tiempo de lectura de artículos.

Lo primero que hice fue medir el tiempo de lectura para cierta cantidad de palabras, se hicieron mediciones de forma pausada y también rápida, y con distintos párrafos con mayor o menor número de palabras. (Si ya tienen esta medición con relación a su público objetivo entonces sigan adelante) Esto puede variar si su web es para niños, para adultos mayores, personas con problemas de lectura, público en general, etc...

Este promedio lo hice para mi público objetivo y estos son mis números:

66 palabras
21 segundos

Teniendo estos valores ahora hacen esto en PHP:

function numofwords($texto) { $texto = preg_replace('/\s+/', ' ', trim($texto)); $wordsclears = explode(" ", $texto; return count($wordsclears); } // la función que realiza en conteo de palabras de un cierto texto.

// $description : es el texto con la cantidad de párrafos en los que deseamos calcular las palabras totales y la cantidad de tiempo aproximado de lectura.

$description_clear = strip_tags($description); // Limpiamos el código de elementos y tags de html

$cantofwords = numofwords($description_clear); // se extrae la cantidad de palabras

$totalseconds = round(($cantofwords*'21')/'66'); // Calculo la cantidad de segundos para el tiempo aproximado de lectura según mis valores medidos (ustedes pueden hacerlo con los suyos)

$readtime = (int)date('i',$totalseconds); // Aquí muestro la cantidad de minutos totales aproximado para la lectura de mi texto (en un valor entero, sin segundos)

Si quieren incluir los segundos usan esta:

$readtime = date("i:s",$totalseconds);

¡Paz y bien! Eso es todo.

Código completo para calcular tiempo aproximado de lectura.

function numofwords($texto) { $texto = preg_replace('/\s+/', ' ', trim($texto)); $wordsclears = explode(" ", $texto; return count($wordsclears); }

$description_clear = strip_tags($description);
$cantofwords = numofwords($description_clear);
$totalseconds = round(($cantofwords*'21')/'66');
$readtimeINT = (int)date('i',$totalseconds);
$readtimeFULL = date("i:s",$totalseconds);
echo "Tiempo de lectura (solo minutos): ". $readtimeINT ."<br/>";
echo "Tiempo de lectura (con segundos): ". $readtimeFULL ."<br/>";
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
buenaa 👍
 
buena función 😉

Yo utilizo esta:

PHP:
function read_time($content){
    $word_count = str_word_count(strip_tags($content));

    $minutes = floor($word_count / 200);
    $seconds = floor($word_count % 200 / (200 / 60));

    $str_minutes = ($minutes == 1) ? "minute" : "minutes";
    $str_seconds = ($seconds == 1) ? "second" : "seconds";

    if($minutes == 0){
        return "{$seconds} {$str_seconds}";
    }else{
        return "{$minutes} {$str_minutes}, {$seconds} {$str_seconds}";
    }
}
 

Tópicos similares

Voltar
Topo