Nueva pregunta

Pregunta:

Fecha: 17-11-2019 15:55:03 (En Español)

Calcular cuanto tiempo tarda una persona en leer un un texto con PHP[Resuelta]

Hola amigos.
Desde hace rato ando buscando un codigo en PHP que me lance el tiempo que taradaria un estudiante de primaria en leer un texto y el tiempo que tardaria un universitario en leer ese mismo texto.

No se si esto sea posible hacerlo en PHP, pero si alguien sabe como hacerlo le agradeceria si dejara el codigo explicado.

Un cordiar saludo y buen codigo!
Etiquetas: PHP Votos: 0 - Respuestas: 9 - Vistas: 15 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 18-11-2019 03:51:47 No puedo darte el código completo pues desconozco muchas cosas de tu proyecto, pero podría ser algo así:
    Se presenta una pantalla con un botón que diga 'Comenzar a leer'. Al hacer click en este botón se cargaría una pantalla con tu texto con la cual estableces el tiempo de inicio. En esa pantalla, al final, habría un botón que diga algo así como 'Ya terminé', el cual al ser oprimido determina el tiempo de finalización.
    El cálculo de la diferencia de tiempos (el tiempo usado desde que se cargó la página hasta que se oprimió el botón) sería
    <?php
    $tiempo_inicio = microtime(true);
    // Aqui el tiempo de lectura
    $tiempo_final = microtime(true);
    $tiempo_usado = round(($tiempo_final - $tiempo_inicial) * 1000);    // Para convertir a segundos
    

    Para más información puedes consultar las funciones microtime() y round() en el manual de PHP
    El problema con esto es que el tiempo se ve influenciado por dos cosas: el tiempo de carga de la página y el momento en que se oprime el botón de finalización, así que, aunque puede servir como guía, no te da una medida exacta pues siempre será mayor que el tiempo realmente utilizado (aunque sea por algunos segundos solamente)
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2019 13:25:02 el calculo del tiempo va a ser genérico, salvo que realices algún tipo de test luego para verificar si realmente leyó o no el texto, en todo caso, puedes tomar el tiempo que lleva la sección abierta con jquery y registrarlo en la base de datos   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2019 15:12:35 Hola Carlos Quintero
    Donde has estado, hacia mucho tiempo que no lo veia en la comunidad, es un gusto para mi recibir una opinion suya.
      Votos: 1 - Link respuesta
     
  • Fecha: 25-11-2019 22:45:55 Me interesa la solución...   Votos: 0 - Link respuesta
     
  • Fecha: 27-11-2019 05:24:35 Si lo que necesitas es mostrar desde en un principio el texto ya con el tiempo estimado que podría tardar, lo que necesitas es saber en promedio cuantas palabras por minuto lee un niño de primaria y cuanto tarda un universitario.
    Ya con esa información en php puedes contar la cantidad de palabras de cada texto y con el promedio que tarda un niño y un universitario, calcular el tiempo estimado que tardaría.

    Por ejemplo, si sabes que un niño de primaria, lee en promedio 50 palabras/1 min. Para saber cuanto tardaría en leer un texto de 350 palabras, usas una simple regla de 3 y obtendrías que el tiempo que tardaría es de 7 min. Y si un universitario en promedio lee unas 200 palabras/1 min. Entonces el tiempo de lectura para el mismo texto para un universitario sería 1.75 min.

    Algo así y como mencione antes, la cantidad de palabras de cada texto las obtendrías con php y el promedio para el niño y el universitario podrían ser dos constantes en el programa o dos valores de configuración, si en algún momento cambian.
      Votos: 1 - Link respuesta
     
  • Fecha: 27-11-2019 06:01:01 Aunque tomar el promedio de lectura de un niño o un universitario seria algo de solución, pero sigue dando un resultado genérico, ya que los tiempos de lectura reales pueden ser realmente variados y sin ningún patrón por cualquier cantidad de motivos como compresión, dislexia, problemas visuales, iluminación, calidad del texto, etc.

    en todo caso como te comente, puedes calcular el tiempo en que se carga el texto a leer y el momento en que la persona presiona algún botón de terminado, luego realizas la regla de 3 dividiendo ese tiempo entre la cantidad de palabras del texto y así tomar cuanto tardó por palabra, de igual manera podrías ir generando un promedio en base a ello.

    en todo caso sigues terminando en el punto de tomar y calcular el tiempo de inicio y fin del proceso y dividirlo entre la cantidad de elementos o palabras.
      Votos: 0 - Link respuesta
     
  • Fecha: 27-11-2019 06:32:23 Hola Pablo, hola Carlos.
    En realidad ya tengo la informacion que necesito, por ejemplo ya se la cantidad de tiempo que tarda en niño de primaria en leer un texto y tambien ya se el tiempo que tarda un universitario en leer otro texto.

    Lo que yo necesito para dar por resuelta esta pregunta es un ejemplo de como seria el codigo en PHP, necesito saber la logica que tengo que escribir el codigo, un ejemplo hecho para saber como es que tengo que escribir mi codigo en PHP.

    Un cordial saludo!
      Votos: 0 - Link respuesta
     
  • Fecha: 17-12-2019 07:36:03 Hola amigos, saludos... EL siguiente código me animé a escribirlo porque lo necesitaba implementar para mi web. No es difícil de implementar si programas tu web en php html y css... Se puede implementar para wordpress pero deben extraer la información de la descripción de su artículo contenida en la base de datos.

    Lo primero que hice fue medir el tiempo de lectura para cierta cantidad de palabras, de forma pausada y también rápida, y con distintos párrafos de 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)

    Luego hice un promedio 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.

    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/>";
    
      Votos: 2 - Link respuesta
     
  • Fecha: 17-12-2019 08:50:50 Muy bien Gizmo, doy por resulta esta pregutan   Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com