Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取最后一个元素的x编号_Php_Javascript_Jquery_Dom_Domdocument - Fatal编程技术网

Php 获取最后一个元素的x编号

Php 获取最后一个元素的x编号,php,javascript,jquery,dom,domdocument,Php,Javascript,Jquery,Dom,Domdocument,如何有效地从最终获得一定数量的元素 <div><span>1</span></div> <div><div>looks like 2</div></div> <div>three!!</div> 1 看起来像2 三个!! 例如,我将如何获取最后2个divs的内容?如果您是指JQuery,它将是这样的(正如我如何理解您的问题) 如果您是指JQuery,它应该是这样的(正如我对

如何有效地从最终获得一定数量的元素

<div><span>1</span></div>
<div><div>looks like 2</div></div>
<div>three!!</div>
1
看起来像2
三个!!

例如,我将如何获取最后2个
div
s的内容?

如果您是指JQuery,它将是这样的(正如我如何理解您的问题)


如果您是指JQuery,它应该是这样的(正如我对您的问题的理解)


如果您正在寻找一个xpath查询,可以在Javascript或PHP中使用:

*[position() > last() - 2]
您可以相对于作为父节点的上下文节点执行它:

$doc = new DOMDocument();
$doc->loadXML($xml);

$context = $doc->documentElement;
$xp = new DOMXPath($doc);

$elements = $xp->query('*[position() > last() - 2]', $context);
var_dump($elements->length);

foreach($elements as $i => $element) {
    printf("%d: %s\n", $i, $doc->saveXML($element));
}
输出:

int(2)
0: <div>
    <div>looks like 2</div>
  </div>
1: <div>three!!</div>
int(2)
0: 
看起来像2
1:三个!!

希望这有帮助。我获得了美化XML的权利

如果您正在寻找一个xpath查询,可以在Javascript或PHP中使用:

*[position() > last() - 2]
您可以相对于作为父节点的上下文节点执行它:

$doc = new DOMDocument();
$doc->loadXML($xml);

$context = $doc->documentElement;
$xp = new DOMXPath($doc);

$elements = $xp->query('*[position() > last() - 2]', $context);
var_dump($elements->length);

foreach($elements as $i => $element) {
    printf("%d: %s\n", $i, $doc->saveXML($element));
}
输出:

int(2)
0: <div>
    <div>looks like 2</div>
  </div>
1: <div>three!!</div>
int(2)
0: 
看起来像2
1:三个!!
希望这有帮助。我获得了美化XML的权利

见演示


请参见演示

您的问题含糊不清。您希望如何获取元素的内容?通过PHP还是Javascript?您希望将结果存储在哪里?我确实标记了PHP,但JavaScript或jQuery不会有任何影响@菲利普斯:你的问题很模糊。您希望如何获取元素的内容?通过PHP还是Javascript?您希望将结果存储在哪里?我确实标记了PHP,但JavaScript或jQuery不会有任何影响@菲利普斯·卡拉佩蒂索!这是经过测试的吗?非常感谢!哦!这是经过测试的吗?非常感谢!看起来不错-但是我如何将所有内容输出到原始HTML?如果没有所有的0:和int(2),您可以在输出数字的行中运动吗?如果你仔细看,我想你会明白这是怎么回事。我只是把数字放进去,这样可以更好地证明有两个结果,在一个实际的应用程序中,你当然会忽略这些数字!所以int是从哪里来的?啊,那一个,对不起,它是length属性的
var\u dump()
。看起来不错-但是如何将所有内容输出到原始HTML?如果没有所有的0:和int(2),您可以在输出数字的行中运动吗?如果你仔细看,我想你会明白这是怎么回事。我只是把数字放进去,这样可以更好地证明有两个结果,在一个实际的应用程序中,你当然会忽略这些数字!所以int从何而来?啊,那个,对不起,它是length属性的
var\u dump()