Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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中检索外部DOM(使用loadHTMLfile)并在html调用中包含一些头文件?_Php_Dom_Header - Fatal编程技术网

有没有办法在PHP中检索外部DOM(使用loadHTMLfile)并在html调用中包含一些头文件?

有没有办法在PHP中检索外部DOM(使用loadHTMLfile)并在html调用中包含一些头文件?,php,dom,header,Php,Dom,Header,我试图在传递一些头文件时从外部URL获取一些DOM,因此收到的DOM必须根据它们的不同而有所不同 例如,如果我有一个移动设备头,收到的DOM应该与PC头完全不同 目前我还没有找到这样做的方法,因为我总是收到相同的DOM(使用默认的头) 提前感谢。您可以为加载操作指定所谓的流上下文。检查此示例,它是从 您可以阅读PHP手册中的以下文章: 谢谢你,hek2mlg,但是我在让你的代码正常工作时遇到了问题。当我从$doc加载saveHTML时,我看到收到的DOM忽略了我的新标题。是因为我们没

我试图在传递一些头文件时从外部URL获取一些DOM,因此收到的DOM必须根据它们的不同而有所不同

例如,如果我有一个移动设备头,收到的DOM应该与PC头完全不同

目前我还没有找到这样做的方法,因为我总是收到相同的DOM(使用默认的头)


提前感谢。

您可以为加载操作指定所谓的流上下文。检查此示例,它是从

您可以阅读PHP手册中的以下文章:


谢谢你,hek2mlg,但是我在让你的代码正常工作时遇到了问题。当我从$doc加载saveHTML时,我看到收到的DOM忽略了我的新标题。是因为我们没有在$doc中使用创建的$context吗?我希望你理解我想说的。我用“echo$doc->saveHTML();”来回显从调用中收到的HTML。不,
libxml\u set\u streams\u context()
可以。没有使用
DOMDocument
类设置此选项。我假设您设置了错误的标题值,遗漏了一些标题,或者在标题语法中有语法错误。
// Specify headers
$opts = array(
    'http' => array(
        'user_agent' => 'PHP libxml agent',
    )
);

// Create and assign a stream context    
$context = stream_context_create($opts);
libxml_set_streams_context($context);

// request the HTML file through HTTP
$doc = DOMDocument::loadHTMLFile('http://www.example.com/file.html');