【发布时间】:2016-11-11 22:09:14
【问题描述】:
我想计算body标签中每个节点的字符数和标签数。稍后,这个字符和标签的数量将用于获取每个标签的密度。为了获取正文,我使用来自PHP Simple HTML DOM Parser 的函数 find()。
function FindBody($str) {
// String --> DOM Elements
$string = str_get_html($str);
// Find body
$e = $string->find('body');
file_put_contents('text_1.txt', $e); }
上面的sn-p会得到如下输出:
<body class="html not-front not-logged-in one-sidebar sidebar-first page-node page-node- page-node-163472 node-type-article page- page- ltr"><div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a>..... </body>
每次我从链接中获取 HTML 时,正文都会有所不同。现在,我被困住了。我不知道如何迭代/递归来获取每个标签。我在某处读过,可以递归完成,但是会花费很多时间。
我需要使用 DOM,因为我正在遵循这个算法。
【问题讨论】:
-
一种实用的技术是使用 XSLT。 这是一种声明性语言,实际上允许您“查询”类似 XML 的结构。我会让你去“谷歌”来理解我的意思。但这基本上意味着您不必“编写复杂的 程序” 即可从复杂的 XML/XHTML 源中获取信息。
-
每个节点的字符数到底是什么意思?