1
在此先感謝您滿足我的明顯PHP限制。使用PHP查找以「enddate-」開頭的所有元素?
考慮這個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>
我如何使用PHP來識別一個HTML文檔的所有元素與具有「enddate-」開頭的一類?
爲什麼我想知道:我想用PHP(BX它的服務器端)來查找所有這些元素,如上面兩個div的;然後抓取(並驗證)隱含的日期信息,並且如果今天的日期在結束日期之後,則導致該元素及其內部內容不被顯示在服務的網頁上(因此,在上面,刪除所有的證據現在第一個div,但第二個可見,直到2014年)。
我發現了一些建議here on stackoverflow有關使用PHP HTML解析器來找到與特定ID的元素,如:
$doc = new DOMDocument();
$doc->loadHTML($html);
$element = $doc->getElementById('ithis');
$element->parentNode->removeChild($element);
$html = $doc->saveHTML();
可以這樣進行修改,以尋找「類是開始與」結束日期' 」?
退房:W3Schools的(http://www.w3schools.com/Xpath/xpath_syntax.asp) 。看起來像'// * [@ class ='enddate - *']',但未經測試。 – 2011-04-22 20:43:29
如果您直接使用屬性,它只會在類匹配您的模式時才起作用 - 因此它需要以enddate開頭 - 才能匹配。 contains函數可以用來檢查子字符串 – 2011-04-22 21:26:05
非常感謝!我會玩。 – ErikJ 2011-04-25 22:10:43