答案 0 :(得分:15)
由于简单HTML DOM 已经有一种方法可以选择包含特定值和/或其他内容的属性。例如
$html->find("div[class*=col]", 0)->outertext
或者您可以只检索以div
开头的col
个节点
$html->find("div[class^=col]", 0)->outertext
为了安全保存,你可以找到所有其他方法来过滤这个第三方插件中的属性(顺便提一下,处理基于libxml
的DOM有更好的方法,一个明确的列表可以是found here)
[attribute]
- 匹配具有指定属性的元素。[!attribute]
- 匹配没有指定属性的元素。[attribute=value]
- 匹配具有指定属性且具有特定值的元素。[attribute!=value]
- 匹配没有指定属性且具有特定值的元素。[attribute^=value]
- 匹配具有指定属性的元素,并以特定值开头。[attribute$=value]
- 匹配具有指定属性且以某个值结尾的元素。[attribute*=value]
- 匹配具有指定属性且包含特定值的元素。答案 1 :(得分:0)
我目前没办法测试它,但是 当我调查它时(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..
}
有效吗?