Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用DomDocument和DomXPath检索嵌套类的值_Php_Oop_Dom_Domdocument - Fatal编程技术网

Php 使用DomDocument和DomXPath检索嵌套类的值

Php 使用DomDocument和DomXPath检索嵌套类的值,php,oop,dom,domdocument,Php,Oop,Dom,Domdocument,我试图从一个开源的黄页中获取内容,该黄页以这种格式列出公司条目 富吧有限责任公司 邮政编码:40922 电话:(281)08776509130 传真:(281)08776509130 福_bar@yahoo.com 下面,您可以看到上述内容的HTML结构 <div class="entry"> <div class="company">Foo Bar LLC</div> <div class="contents">

我试图从一个开源的黄页中获取内容,该黄页以这种格式列出公司条目

富吧有限责任公司 邮政编码:40922
电话:(281)08776509130
传真:(281)08776509130
福_bar@yahoo.com

下面,您可以看到上述内容的HTML结构

<div class="entry">
    <div class="company">Foo Bar LLC</div>
        <div class="contents">
            <div class="adress">
                ZIP : 40922 <br>
                TEL : (281) 087 765 09 130<br>
                FAX : (281) 087 765 09 130<br> 
                <a href="mailto:foo_bar@yahoo.com"> foo_bar@yahoo.com</a><br> 
            </div>
        </div> 
    </div>
</div>

您正在获取
nodeValue
,这大致相当于
innerText
。您必须获取innerHTML以在其中保留

标记。见:
<?php
ini_set('max_execution_time', 300);  
$dom = new DomDocument; 
$html = $dom->loadHTMLFile('http://foo.bar'); 
$finder = new DomXPath($dom);
$classname="entry";
$nodes = $finder->query("//*[contains(@class, '$classname')]");
foreach ($nodes as $key => $value) {
echo $value->nodeValue  . "<br/>";
}