【问题标题】:Parse content inside all HTML elements with class .mod in HTML document with PHP使用 PHP 在 HTML 文档中使用类 .mod 解析所有 HTML 元素中的内容
【发布时间】:2013-06-30 02:35:19
【问题描述】:

如何使用 PHP 解析 HTML 文档中“mod”类 (.mod) 的内容。

如果可以使用 DOMDocument,请告诉我如何使用 DOMDocument。

我目前正在使用以下内容来获取<title> 标签(<title></title>)之间的内容

$this->document = new DOMDocument();
$title = $this->document->getElementsByTagName('title')->item(0)->nodeValue;

但是不同元素类型的页面上还有其他元素共享类“mod”(.mod),我如何获取这些元素的内容?

【问题讨论】:

    标签: php html-parsing


    【解决方案1】:

    你可以使用xpath

    $path = new DOMXPath($this->document);
    $nodes = $path->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' mod ')]");
    

    【讨论】:

    • 你能解释一下第二行的作用吗?特别是query("");里面的部分?看起来,这将返回一个包含类 mod 的所有元素的数组。之后,我将使用foreach(){} 遍历数组,但是如何从每个节点中获取内容?我所说的内容是指在每个元素内部都有 .mod 类?
    • @JayGatz 我从我做的一个项目中得到了这个,但我做了一些谷歌搜索以获取实际的 xpath,我什至不记得那里发生了一半的事情。尝试在 xpath 教程中查找构造。你也不能只使用节点的nodeValue 属性来获取它们的内容。
    猜你喜欢
    • 2011-07-07
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多