问题是检索和显示 div 内容。要注意的是,它与多类有关:
<li class="activity user-generated" id="activity:153411947-kIq0nOFam0hE68sL6P298_DIo4s-1386284074745">
在我的例子中,如果 ID 不会为每个新状态自动生成,我可能可以更轻松地使用它。
另外,关于这个话题,是否可以获取每个标签并按顺序列出它们?
感谢您的宝贵时间。
$classname = "activity";
$domdocument = new DOMDocument();
$domdocument->loadHTML($doc);
$a = new DOMXPath($domdocument);
$spans = $a->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
$doc 是我正在加载的页面
好吧,让我重新启动它,因为它不起作用这一事实让我非常烦恼。
我想做的是从我发布的元素中读取,但是我需要从 URL 中调用它,因为只读取元素本身作为 HTML 就可以了。从 URL 中,我得到了一堆不必要的错误,基本上是重复同样的事情。
Function obtainUserStatus($Username){
$DOM = new DOMDocument();
$Class = "activity";
$DOM->loadHTMLFile('http://lifestream.aol.com/stream/' . $Username);
$X = new DOMXPath($DOM);
$ID = $X->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $Class ')]")->item(0)->getAttribute('id');
Echo $ID;
}
它只返回错误。
我需要从类中返回 div 的内容(或 ID,这是我从那里做的——没什么大不了的。)
最佳答案
好的,我终于解决了这个问题。
对于任何需要解决方案的人(4 个赞,所以我猜有几个人会这样做),现在我们的情况当然有所不同,但这绝对可以帮助您:
Function getDivContents($URL, $ID){
$DOM = new DOMDocument();
$DOM->validateOnParse = True;
@$DOM->loadHtml(File_Get_Contents($URL));
$xPath = new DOMXPath($DOM);
$Main = $DOM->getElementById($ID)->nodeValue;
Return $Main;
}
只需使用 Echo getDivContents('url', 'id'); 调用它即可
[编辑以满足最低需求,如果出现任何错误,请评论]
关于php - 使用 PHP DOM 按类获取 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20413766/