function contentoptimizer_calc_stats in Content Optimizer 6
Same name and namespace in other branches
- 8 contentoptimizer.module \contentoptimizer_calc_stats()
- 6.2 contentoptimizer.module \contentoptimizer_calc_stats()
- 7.2 contentoptimizer.module \contentoptimizer_calc_stats()
1 call to contentoptimizer_calc_stats()
File
- ./
contentoptimizer.module, line 334 - Analyzes node content for search engine optimization recommendations
Code
function contentoptimizer_calc_stats($content, $keyword) {
$ret = array();
$ret['char_count'] = strlen($content);
$ret['word_count'] = str_word_count($content);
if ($keyword) {
$content_segs = explode($keyword, $content);
$ret['keyword_count'] = count($content_segs) - 1;
$ret['keyword_density'] = 0;
if ($ret['word_count']) {
$ret['keyword_density'] = 100 * $ret['keyword_count'] / $ret['word_count'];
}
$ret['keyword_positionsum'] = 0;
$i = 0;
foreach ($content_segs as $seg) {
if ($i >= $ret['keyword_count']) {
break;
}
$wordpos = str_word_count($seg) + 1;
$ret['keyword_positionsum'] += $wordpos;
$i++;
}
// prominence = ($totalwords - (($positionsum - 1) / $positionsnum)) * (100 / $totalwords)
$ret['keyword_prominence'] = 0;
if ($ret['keyword_count']) {
$ret['keyword_prominence'] = ($ret['word_count'] - ($ret['keyword_positionsum'] - 1) / $ret['keyword_count']) * (100 / $ret['word_count']);
}
}
return $ret;
}