我有以下标签
<div class="col *">Text</div>
*
是什么。
我想使用Simple HTML DOMcol
获取所有具有类属性的 div 标签包含(如我的示例中)。
因为Simple HTML DOM已经有一种方法来选择包含某个值和/或其他内容的属性。例如
$html->find("div[class*=col]", 0)->outertext
或者你可以只检索以这样div
开头的节点col
$html->find("div[class^=col]", 0)->outertext
并且为了安全起见,您可以在这个 3rd 方插件中找到过滤属性的所有其他方法(顺便说一下,处理 DOM 有更好的方法,libxml
可以在此处找到最终列表)
[attribute]
- 匹配具有指定属性的元素。[!attribute]
- 匹配没有指定属性的元素。[attribute=value]
- 匹配具有特定值的指定属性的元素。[attribute!=value]
- 将没有指定属性的元素与某个值匹配。[attribute^=value]
- 匹配具有指定属性并以某个值开头的元素。[attribute$=value]
- 匹配具有指定属性并以特定值结尾的元素。[attribute*=value]
- 匹配具有指定属性且包含特定值的元素。目前我没有办法对其进行测试,但是当我研究它时(http://simplehtmldom.sourceforge.net/)它应该相当简单。
$html = file_get_html('http://somesite.net');
foreach($html->find('div') as $div){
if stripos($div->class,"col"){
// this $div has a "col" class..
}
}
甚至更简单:
$html = file_get_html('http://somesite.net');
foreach($html->find('div.col') as $div){
// every $div has a "col" class..
}
它有效吗?