<?php
$defolttext = "";
error_reporting(-1);
if (!isset($_REQUEST['submit'])) {
$text = "";
} else{
$text = $_REQUEST['text'];
$clearbrpbi = array("<br>" => " ", "<br />" => " ", "<p>" => " ", "</p>" => "", "<i>" => "", "</i>" => "", "<b>" => "", "</b>" => "", "<" => "", ">" => "", '"' => '');
$cleartext = strtr($text, $clearbrpbi);
$words = explode(" ", $cleartext);
$curword = "";
$allwords = "";
$curwordsylamt = 0;
$wor = 0;
$wordsylamtall = 0;
foreach ($words as $k => $v){
$curword = $v;
$curwordsylamt = strlen($curword)/2.5;//количество слогов в текущем слове
$wordssenarr[] = $curwordsylamt;
$allwords .= $curword;
$wordsylamtall += $curwordsylamt;
$wor++;//счетчик слов
}
$nospaces = implode("", $words);
$nospaceslen = strlen($nospaces);//общеее количество букв без пробелов
$syllablesamt = $nospaceslen/2.5;
$sentences = explode(".", $cleartext);
$sentencesamt = count($sentences);
$senwords = array();
$wordssenarr = array();
$sen = 0;
$wordssenamt = 0;
$wordssenamtall = 0;
foreach ($sentences as $k => $v){
$senwords = explode(" ", $v);
$wordssenamt = count($senwords);//количество слов в текущем предложении
$wordssenarr[] = $wordssenamt;
$wordssenamtall += $wordssenamt;
$sen++;//счетчик предложений
}
$avg_sense_length_inwords = $wordssenamtall/$sen;
$avg_words_length_insyllables = array_sum($wordssenarr)/$wor;
$ASL = $avg_sense_length_inwords;
$ASW = $avg_words_length_insyllables;
$wordsamt = count($words);
$textlen = strlen($cleartext);
$FRE1 = 206.835 - 1.015*($wordsamt/$sentencesamt) - 84.6*($syllablesamt/$wordsamt);
$FRE2 = 206.835 - (1.015*$ASL) - (84.6*$ASW);
//$FleschKincaidGradeLevel= 0.39*(total words/total sentences)+11.8*(total syllables/total words)-15.59;
$FleschKincaidGradeLevel= 0.39*($wordsamt/$sentencesamt)+11.8*($syllablesamt/$wordsamt)-15.59;
$text = "Читаемость вашего текста равна FRE1 = $FRE1 ,FRE2 = $FRE2<br /><br />
Читаемость вашего текста по Flesch–Kincaid Grade Level равна
FleschKincaidGradeLevel= 0.39(wordsamt/sentencesamt)+11.8(syllablesamt/wordsamt)-15.59 = 0.39($wordsamt\/$sentencesamt)\+11.8\($syllablesamt\/$wordsamt)\-15.59 = $FleschKincaidGradeLevel
<br /><br />
<pre>".print_r($GLOBALS, true)."</pre>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<body>
<h2>Проверка читаемости текста по индексу Флеша</h2><br />
<?php echo $text; ?>
<br />
<br />
<form action="" method=post>
Ввведите текста у которого нужно проверить читаемость:<br />
<textarea name="text" rows="10" cols="45"> <?php echo $defolttext; ?></textarea><br />
<input type='submit' name='submit' value='Проверить' />
<hr>
</form>
</body>
</html>
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.35, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<body>
<h2>Проверка читаемости текста по индексу Флеша</h2><br />
<br />
<br />
<form action="" method=post>
Ввведите текста у которого нужно проверить читаемость:<br />
<textarea name="text" rows="10" cols="45"> </textarea><br />
<input type='submit' name='submit' value='Проверить' />
<hr>
</form>
</body>
</html>
preferences:
249.89 ms | 407 KiB | 343 Q