【发布时间】:2020-03-17 08:30:44
【问题描述】:
我正在尝试创建一个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);
如何实现这个函数的附加功能?
【问题讨论】:
-
一个额外的正则表达式
\b\w{1,2}\b应该去掉任何长度少于 3(2 和 1)个符号但包括任何单词 char 的内容。旁注:我也没有看到 HtmlDomParser -
“在
HtmlDomParser的帮助下” - 我没有看到在你显示的代码中的任何地方使用过。 -
谢谢,编辑了这个问题。我怎样才能过滤所有纯 HTML 文本?现在,它过滤了所有的 HTML 元素,比如 classes 和 e.t.c