相关疑难解决方法(0)

如何在PHP中迭代DOM元素?

我有一个XML文件加载到DOM文档中,我希望迭代所有'foo'标记,从它下面的每个标记获取值.我知道我可以通过

$element = $dom->getElementsByTagName('foo')->item(0);
foreach($element->childNodes as $node){
    $data[$node->nodeName] = $node->nodeValue;
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试做的是来自XML,

<stuff>
  <foo>
    <bar></bar>
      <value/>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  </stuff>
Run Code Online (Sandbox Code Playgroud)

迭代每个foo标记,获取特定的barpub,并从那里获取值.现在,我如何迭代foo以便仍然可以按名称访问特定的子节点?

php xml dom

31
推荐指数
1
解决办法
4万
查看次数

PHP DomDocument 获取标签后的文本

我的 php 文件中有这个。

<?php
$str = '<div>
    <p>Text</p>
    I need this text...
    <p>next p</p>
    ... and this
</div>
';

$dom=new DomDocument();
$dom->loadHTML($str);
$p = $dom->getElementsByTagName('p');
foreach ($p as $item) {
    echo $item->nodeValue;
}
Run Code Online (Sandbox Code Playgroud)

这为我提供了 p 标签的正确文本,但我还需要 p 标签之间的文本(“我需要这个文本...”,“...和这个”)。

有人知道如何获取 p 标签后的文本吗?

最好的

html php tags domdocument

1
推荐指数
1
解决办法
1773
查看次数

标签 统计

php ×2

dom ×1

domdocument ×1

html ×1

tags ×1

xml ×1