Я использую следующий скрипт, но его не работает. Он продолжает говорить, что только один экземпляр ключевого слова
Может быть, это как-то связано со специальным персонажем? Не знаете, как это исправить, хотя
$word_count = explode(' ', "estudiar inglés estudiar inglés asdasd asd asd sadasd estudiar ingles adas dasd estudiar inglés");
$word_count = count($word_count);
$keyword= "estudiar inglés";
echo $keyword;
$keyword_count = preg_match_all("#{$keyword}#si", $text, $matches);
$keyword_count = count($matches);
$density = $keyword_count / $word_count * 100;
$density = number_format($density, 2) . '%';
echo $keyword_count;
Эта работа:
$text = "some text asoijw oijd cj isoj some text asiojoasj aisojsaij";
$word_count = explode(' ',$text);
$word_count = count($word_count);
$keyword = "some text";
$keyword_count = preg_match_all("/$keyword/i", $text, $matches);
$keyword_count = count($matches[0]);
$density = $keyword_count / $word_count * 100;
$density = number_format($density, 2) . '%';
echo "Text: $text<br/>"
."Keyword: $keyword<br/><br/>"
."Matched $keyword_count time(s)<br/>"
."Density: $density";
$ matches [0]: preg_match_all разбить совпадения на подмассивы
$text
, кроме как в вашем вызовеpreg_match_all()
?