属性中的简单HTML DOM通配符

aye*_*aye 3 php attributes wildcard simple-html-dom

我有以下标签

<div class="col *">Text</div>
Run Code Online (Sandbox Code Playgroud)

* 什么都没有.

我想col使用Simple HTML DOM获取所有包含class属性的div标签(如我的例子中所示).

Mor*_*lde 16

由于Simple HTML DOM已经有一种方法可以选择包含特定值和/或其他内容的属性.例如

$html->find("div[class*=col]", 0)->outertext

或者你可以只检索divcol这样开头的节点

$html->find("div[class^=col]", 0)->outertext

为了安全起见,你可以找到在第三方插件中过滤属性的所有其他方法(顺便提一下,有更好的方法可以处理基于的DOM,libxml可以在这里找到明确的列表)

  1. [attribute] - 匹配具有指定属性的元素.
  2. [!attribute] - 匹配没有指定属性的元素.
  3. [attribute=value] - 匹配具有特定值的指定属性的元素.
  4. [attribute!=value] - 匹配没有指定属性且具有特定值的元素.
  5. [attribute^=value] - 匹配具有指定属性的元素,并以特定值开头.
  6. [attribute$=value] - 匹配具有指定属性的元素,并以特定值结束.
  7. [attribute*=value] - 匹配具有指定属性且包含特定值的元素.

资料来源:http://simplehtmldom.sourceforge.net/manual.htm