2011-12-30 90 views
13

thể trùng lặp:
XPath: How to match attributes that contain a certain stringPHP DOM XPath - tìm kiếm tên lớp

Tôi đang cố gắng để phân tích một số html với PHP DOM XPath, nhưng tôi đang gặp vấn đề tìm kiếm tên lớp khi phần tử có nhiều hơn một. Tôi thấy rằng nếu tôi sử dụng các giá trị thuộc tính lỗ như

$xpath->query('//div[@class="precodet precodeturgente"]'); 

nó hoạt động, nhưng nếu tôi làm

$xpath->query('//div[@class="precodet"]'); 

nó sẽ không cung cấp cho tôi những giá trị node. Đôi khi chỉ có một lớp, những người khác có nhiều hơn một, vì vậy những gì tôi muốn biết là nếu có một cách để tìm kiếm một tên lớp duy nhất.

Trả lời

28

Bạn sẽ có thể làm

$xpath->query('//div[contains(@class,"precodet")]'); 
+0

Cảm ơn, đó là những gì tôi cần. – yoda

+9

điều này phù hợp với bất kỳ lớp nào bắt đầu bằng precodet, ví dụ 'XprecodetY' sẽ được kết hợp –

+2

Giải pháp nào để kết hợp chính xác lớp này, nhưng không phải lớp nào khác bắt đầu bằng" precodet "? – KoviNET

Các vấn đề liên quan