2011-12-30 12 views
13

Powiel możliwe:
XPath: How to match attributes that contain a certain stringPHP DOM Xpath - wyszukaj nazwę klasy

usiłuję analizować niektóre HTML z PHP DOM XPath, ale mam problemy poszukiwania nazwa klasy, gdy element ma więcej niż jeden. Okazało się, że w przypadku korzystania z wartości atrybutu dziura jak

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

to działa, ale jeśli to zrobię

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

nie da mi wartość węzła. Czasem jest tylko jedna klasa, inne to więcej niż jedna, więc chcę wiedzieć, czy istnieje sposób na wyszukanie pojedynczej nazwy klasy.

Odpowiedz

28

Powinieneś być w stanie zrobić

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

Dzięki, że to co było mi potrzebne. – yoda

+9

pasowałoby to do każdej klasy, która zaczyna się od prekodet, na przykład 'XprecodetY' będzie pasował do –

+2

Jakie byłoby rozwiązanie do dopasowywania dokładnie tej klasy, ale nie jakiejkolwiek innej klasy, która zaczyna się od" precodet "? – KoviNET