PHP解析器:解析HTML标签后的HTML文本

PHP解析器:解析HTML标签后的HTML文本

问题描述:

我试图从HTML页面解析一些信息。唯一的问题是我需要的信息不在标签中,因此无法轻易找到。这是我正在谈论的一个例子。PHP解析器:解析HTML标签后的HTML文本

<span class="fieldlabeltext">Levels: </span>Undergraduate 
<br> 
<span class="fieldlabeltext">Attributes: </span>Online Course 
<br> 
<span class="fieldlabeltext">Instructors: </span>N/A 
<br> 

我需要从示例中提取“在线课程”上面,但不是所有的“属性”是整个HTML文件相同。所以有些可能可能是“批判性思维”或“顶点”,还有更多其他的头衔。提取这些数据的最佳方法是什么?我正在使用PHP简单HTML DOM解析器 - http://simplehtmldom.sourceforge.net/

+2

一旦你找到一个DOM树中的节点,有'nextsibling'和'previoussibling'看树节点的邻居。不知道是否simpledom有,但完整的DOM。 – 2012-03-16 18:30:48

Marc B的评论是正确的。 SimpleHTMLDOM具有以下功能,您可以在元素上执行以实现您想要的功能。

  • element $e->parent() - 返回元素的父亲。
  • element $e->first_child() - 返回元素的第一个子元素,如果未找到,则返回null。
  • element $e->last_child() - 返回元素的最后一个子元素,如果未找到,则返回null。
  • element $e->next_sibling() - 返回元素的下一个兄弟元素,如果未找到,则返回null。
  • element $e->prev_sibling() - 返回元素的前一个兄弟元素,如果未找到,则返回null。

来源:http://simplehtmldom.sourceforge.net/manual.htm#section_traverse

+0

谢谢!有用! – 2012-03-16 19:28:51

+0

@Fitz如果下一个元素不像以前那样,我如何获取文本例如。如果我现在的是'a: test

  • test
  • '? – 2014-11-29 12:32:21