2011-12-30 12 views
13

Eventuali duplicati:
XPath: How to match attributes that contain a certain stringPHP DOM Xpath - cercare il nome della classe

Sto cercando di analizzare il linguaggio HTML con PHP DOM Xpath, ma sto avendo dei problemi alla ricerca di un nome di classe quando l'elemento ne ha più di uno. Ho scoperto che se uso il valore dell'attributo buco come

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

funziona, ma se lo faccio

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

non mi darà il valore del nodo. A volte c'è una sola classe, altre ce ne sono più di una, quindi quello che voglio sapere è se c'è un modo per cercare un singolo nome di classe.

risposta

28

Si dovrebbe essere in grado di fare

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

Grazie, questo è quello che mi serviva. – yoda

+9

questo corrisponderebbe a qualsiasi classe che inizia con il precodet, ad esempio 'XprecodetY' corrisponderebbe a –

+2

Quale sarebbe la soluzione per la corrispondenza esattamente con questa classe, ma non con un'altra classe che inizia con" precodet "? – KoviNET

Problemi correlati