ja mam trochę inny pomysł ;P
ja zrobił bym to tak:
function _ReadingTime($tekst, $time)
{
//ilość 100 liter przez czas
$tim=$length / 100;
$tim=$tim * $time;
$return['time']=$tim;
return $return;
}
i do tego jakaś funkcja w JavaScript lub AJAX odejmująca 1 co sekundę aż do 0 ;P
Jak działa?
zlicza liczbę znaków (bez HTML), dzieli je przez 100 znaków a następnie mnoży przez średni czas ustalony do przeczytania 100 znaków ;P
oczywiście czas podajemy i jest zwracany w sekundach, przykład użycia:
<?php
function _ReadingTime($tekst, $time)
{
//ilość 100 liter przez czas
$tim=$length / 100;
$tim=$tim * $time;
$return['time']=$tim;
return $return;
}
$tekst = '<span class="k">echo</span> <span class="s2">"<LI></span><span class="si">$foo->id</span><span class="s2"> - </span><span class="si">$foo->nazwa</span><span class="s2"><br />"</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
Biblioteka SimpleXML jest standardowym składnikiem PHP 5 i wykonanie tego skryptu powinno wyświetlić:
<div class="box"><pre>3 - nazwa testowa
4 - inna nazwa</pre></div>
Analizując kod warto zobaczyć jak wygląda obiekt $xml:
<div class="box"><pre>
SimpleXMLElement Object
(
[wpis] => Array
(
[0] => SimpleXMLElement Object
(
[id] => 3
[nazwa] => nazwa testowa
)
[1] => SimpleXMLElement Object
(
[id] => 4
[nazwa] => inna nazwa
)
)
)
</pre></div>
By wyciągnąć określoną wartość należy posłużyć się zmienną <b>$xml->NAZWA GŁÓWNEGO KLUCZA[INDEKS LICZBOWY]->NAZWA POLA KOŃCOWEGO</b>, czyli: <b>$xml->wpis[1]->id / $xml->wpis[0]->id</b>. <br />
<b>Modyfikacja pliku XML</b> jest prosta:
<div class="box" style="overflow:hidden;font-size:11px;"><div class="highlight"><pre><span class="cp"><?php</span>
';
$time=_ReadingTime($tekst, 5);
echo $time['text'].'<br>Czas do przeczytania tekstu (sekund):'.$time['time'];
Zwróci nam to:
Czas do przeczytania tekstu (sekund):46.35