使用PHP查找以“开始”开头的类的所有元素;结束日期-“;?
提前感谢您接受我的PHP限制 考虑以下HTML:使用PHP查找以“开始”开头的类的所有元素;结束日期-“;?,php,html,parsing,Php,Html,Parsing,提前感谢您接受我的PHP限制 考虑以下HTML: <div class="story first enddate-2011-04-21"> <h3>misc HTML content</h3> ... </div> <div class="sparkly enddate-2014-01-01"> <p>blah blah blah</p> ... </div> 是否可以将其修
<div class="story first enddate-2011-04-21">
<h3>misc HTML content</h3>
...
</div>
<div class="sparkly enddate-2014-01-01">
<p>blah blah blah</p>
...
</div>
是否可以将其修改为查找“以“enddate”开头的类?”我认为可以使用XPath来完成此操作 像这样的方法应该会奏效:
$xpath = new DOMXPath($domdocument);
$elements = $xpath->query("//*[contains(@class, 'enddate-')]");
(xpath查询未经测试)签出:。看起来像“/*[@class='enddate-*']`,但这是未经测试的。如果您像建议的那样直接使用该属性,则该属性仅在类与您的模式匹配时才起作用,因此它需要以enddate开头才能匹配。contains函数可用于检查子字符串谢谢!我会处理这个问题。如果我读对了:如果像在示例HTML中一样,一个类在enddate(class=“sparky enddate-2014-01-01”)之前有其他值,那么这个实例将找不到?@ErikJ,如果不使用contains函数,是的。
$xpath = new DOMXPath($domdocument);
$elements = $xpath->query("//*[contains(@class, 'enddate-')]");