我怎样才能在PHP中获得div的内容
我有一个在PHP(string)的div,我想要的内容。
例如:
<div id="product_list" style="width:100%; float:none;"> <div> bla bla bla </div> bla bla </div>
而且我要
<div> bla bla bla </div> bla bla
风格正在改变,我只知道div id。
更新
这是我的代码,与turbod源相同,结果也是一样的。
所以这是原始的HTML
$doc = new DOMDocument(); $doc->loadHTML($buffer); $id = $doc->getElementById('product_list')
此代码后,我得到以下: 链接
使用php DomDocument类。 http://www.php.net/manual/en/class.domdocument.php
$dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $divContent = $xpath->query('//div[id="product_list"]');
要保存XML / HTML片段,您需要保存每个子节点:
$dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $result = ''; foreach($xpath->evaluate('//div[@id="product_list"]/node()') as $childNode) { $result .= $dom->saveHtml($childNode); } var_dump($result);
输出:
string(74) " <div> bla bla bla </div> bla bla "
如果您只需要文本内容,则可以直接获取:
$dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); var_dump( $xpath->evaluate('string(//div[@id="product_list"])') );
输出:
string(63) " bla bla bla bla bla "
这样做不够吗
$id->nodeValue