У меня была эта идея для полностью динамического сценария ключевых слов, который позволил бы мне просто писать контент для моего сайта/когда люди размещают на моем сайте и автоматически генерируют ключевые слова из контента, который они разместили. .. Я изучил этот метод ниже, но я не уверен, как двигаться вперед. Любая помощь приветствуется.Полностью динамические ключевые слова с использованием PHP
<?php
$content = "everything inside the body of the page";
$common = array(' a ', ' the ', ' I ');
$replaced = str_replace($common, ' ', strip_tags($content));
$array = str_word_count($replaced, 1);
$count = array_count_values($array);
?>
Этот код берет содержание страницы, раздевает HTML-теги из него, создает массив из всего контента с каждым словом, имеющим значение, сколько раз он используется на странице.
Как я могу фильтровать этот массив для слов, которые используются больше, чем X раз?
EDIT: Благодаря Jan для предоставления их решения, очень полезно для того, что мне нужно было сделать, в конечном итоге немного изменил его (не слишком меня ненавижу, но я объединил его в одну строку, чтобы сэкономить место).
if (isset($page['content']) and $page['content'] != ' ') {
foreach (array_count_values(str_word_count(str_replace(array('nbsp', ' nbsp ', ' something ', ' that ', ' does ', 'that', ' that ', ' have ',' with', ' this ', ' from ', ' they ', ' will ', ' would ', ' there ', ' their ', ' what ', ' about ', ' which ', ' when ', ' make ', ' like ', ' time ', ' just ', ' know ', ' take ', ' person ', ' into ', ' year ', ' your ', ' good ', ' some ', ' could ', ' them ', ' other ', ' than ', ' then ', ' look ', ' only ', ' come ', ' over ', ' think ', ' also ', ' back ', ' after ', ' work ', ' first ', ' well ', ' even ', ' want ', ' because ', ' these ', ' give ', ' most '), ' ', strip_tags($page['content'])), 1)) as $keyword => $frequency) {
if ($frequency >= '3' and strlen($keyword) >= '4' and strlen($keyword) <= '10' and strpos($keywords, $keyword) === false) {
$keywords .= strtolower($keyword).', ';
}
}
echo '<meta name="keywords" content="'.trim($keywords, ", ").'"/>';
}
Как я смог бы отфильтровать этот массив для слов, которые используются более чем Х количество раз? - Пожалуйста, объясни. Дайте нам представление о том, какой результат вы ожидаете. – Kishor