简单的HTML DOM解析器 - 发送POST变量

问题描述:

我有简单的HTML DOM解析器PHP的,我现在用的是下面的标记:简单的HTML DOM解析器 - 发送POST变量

$html = file_get_html('http://www.google.com'); 

但是如何发送POST变量(如卷曲)到页面并获得回应?例如

$html = file_get_html('http://www.google.com', array("Item"=>"Value", "Item2"=>"Value2")); 

文档没有提到它,据我所看到的,但考虑看看源代码后,我注意到你正在使用接受stream context作为其第三个参数的函数。您可以创建这样的PHP功能的POST请求:

$request = array(
'http' => array(
    'method' => 'POST', 
    'content' => http_build_query(array(
     'Item' => 'Value', 
     'Item2' => 'Value2' 
    )), 
) 
); 

$context = stream_context_create($request); 

$html = file_get_html('http://www.google.com', false, $context); 

如果你不喜欢上下文或宁愿一个不同的方法(如卷曲扩展名),你也可以只提取使用的页面内容,然后使用str_get_html()$parser->load()将其提供给解析器;这个类本身在内部与你现在使用的方法几乎完全相同。