私はこれを探し回りましたが、見つけることができませんでした。ワイルドカードを使用して html から要素を選択したいだけです。たとえば、私がスクレイピングしているページの場合、このセレクターは Jquery のコンソールで完全に機能します。
$("tr[id^='informal_']")
つまり、「informal_」で始まる ID を持つすべての行を取得します。xpath を試してみましたが、うまくいきませんでした。xpath は XML 専用ですか? とにかく、誰かがそこに解決策を持っているなら、私はそれを大いに感謝します.
編集
私が使用したxpath:
$doc = new DOMDocument($html);
$doc->strictErrorChecking = false;
$xpath = new DOMXPath($doc);
$table_rows = $xpath->query("//*tr[starts-with(@id, 'informal_')]");
解決策私は、 http ://code.google.com/p/phpquery/ を使用することにしました。
コードは次のとおりです。
require('phpQuery/phpQuery.php');
$doc = phpQuery::newDocumentHTML($html);;
$table_rows = $doc->find("tbody tr[id^='informal_']");