Extract DOM-elements from string, in PHP
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
crawling a html page using php?
Best methods to parse HTML
我的PHP脚本中有一个字符串变量,其中包含HTML页面。如何从这个字符串中提取DOM元素?
例如,在这个字符串
您需要使用
例如:
1 2 3 4 5 6 7 8 9 10 11 12 | $string = <<<HTML <p> test </p> text <p> another </p> HTML; $dom = new DOMDocument(); $dom->loadHTML($string); |
之后,您将能够操作DOM,例如使用
例如,在您的案例中,您可以使用基于这部分代码的内容:
1 2 3 4 5 | $xpath = new DOMXpath($dom); $result = $xpath->query('//div[@class="someclass"]'); if ($result->length > 0) { var_dump($result->item(0)->nodeValue); } |
在这里,您可以得到以下输出:
1 | string 'text' (length=4) |
作为替代方案,您也可以使用
看一下
1 2 3 4 5 6 | $DOM = new DOMDocument(); $DOM->loadHTML($str); $xpath = new DOMXPath($DOM); $someclass_elements = $xpath->query('//[@class ="someclass"]'); // ... |