Как удалить слова, содержащие не более 3 символов? PHP - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь настроить function для фильтрации на веб-странице наиболее часто используемых слов.

Теперь я могу получить HTML веб-сайт, и функция считает слова, фильтрует их по наиболее используемым, но не может заставить работать слова, которые меньше 3 символов, не будут отображаться.

$contents = file_get_contents('https://www.basketnews.lt');    
$search = array(
        '@<script[^>]*?>.*?</script>@si',   // Strip out javascript
        '@<head>.*?</head>@siU',            // Lose the head section
        '@<style[^>]*?>.*?</style>@siU',    // Strip style tags properly
        '@<![\s\S]*?--[ \t\n\r]*>@',        // Strip multi-line comments including CDATA
        );

$contents = preg_replace($search, '', $contents);    
$result = array_count_values(
            str_word_count(strip_tags($contents), 1)
          );

arsort($result);
print_r($result);

Как реализовать дополнительные функции для этой функции?

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Вы можете использовать https://www.php.net/array-filter

$array = array_filter($array, function($value){
    return strlen($value) >= 3;
});

Все, что не соответствует проверке, отфильтровывается.

1 голос
/ 17 марта 2020

Просто создайте новый результат с отфильтрованными более короткими словами:

foreach($result as $k => $v) {
  if(strlen($k) > 2) {
    $result2[$k] = $v;
  }
}
print_r($result2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...