根据SIMPLE HTML DOM PARSER的文档(在“如何修改HTML元素”选项卡下),此代码查找<div class="hello">
的第一个实例:
$html = str_get_html('<div class="hello">Hello</div><div class="world">World</div>');
$html->find('div[class=hello]', 0)->innertext = 'foo';
echo $html; // Output: <div class="hello">foo</div><div class="world">World</div>
如果我想将{foo'插入<div class="hello">
的 last 实例,假设HTML代码有很多<div class="hello">
的实例,该怎么办。
应该替换0
?
答案 0 :(得分:8)
好吧,因为
// Find all anchors, returns a array of element objects
$ret = $html->find('whatever');
返回保存所有array
元素的<whatever>
,您可以使用PHP的常规数组函数获取最后一个元素,例如end
$last = end($ret);
如果SimpleHtmlDom完全实现CSS3 Selectors进行查询,您还可以修改您的查询以使用
:last-of-type
只找到返回的节点列表中的最后一个兄弟。
答案 1 :(得分:3)
从手册:
// Find lastest anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', -1);
答案 2 :(得分:0)
lastChild 属性返回元素的最后一个子对象。
编辑: 显然不是JQuery :) 请改为参考W3C选择器参考:http://www.w3.org/TR/css3-selectors/#last-child-pseudo