【问题标题】:how to get nodes where there is id attribute in html document using php如何使用php获取html文档中存在id属性的节点
【发布时间】:2012-10-05 05:49:35
【问题描述】:

如何使用 php (domdocument) 从整个 HTML 文档中获取设置了 id 属性的节点的引用?

<div id='foo'>
lorem ipsum
</div>
<div id='bar'>
lorem ipsum
</div>
<div id="baf">
  <div id="alpha">
  lorem ipsum
  </div>
</div>

我想获取 foo、bar、baf、alpha 节点的列表。节点可以任意存在。

【问题讨论】:

  • 这听起来就像您不了解客户端浏览器内的 DOM 树和服务器上运行的 PHP 的分离。或者你想解析你在服务器上获取和缓冲的 html 结构?
  • @njk 我还没有尝试过任何东西。我认为递归循环遍历整个文档,但这似乎不对。所以寻找任何替代的想法。
  • 您想用 PHP 处理的 html“文档”在哪里? PHP 如何访问该 HTML?

标签: php html dom


【解决方案1】:

你可以使用str_get_html

$html = '<div id="foo">
lorem ipsum
</div>
<div id="bar">
lorem ipsum
</div>
<div id="baf">
  <div id="alpha">
  lorem ipsum
  </div>
</div>';

$html = str_get_html($html);
foreach ( $html->find("div") as $value ) {
    var_dump($value->id);
}

输出

string 'foo' (length=3)
string 'bar' (length=3)
string 'baf' (length=3)
string 'alpha' (length=5)

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 2015-02-02
    • 2013-03-01
    • 2014-10-30
    • 2016-01-09
    • 1970-01-01
    相关资源
    最近更新 更多