У меня есть простой HTML DOM Parser для PHP, и я использую следующую разметку:
$html = file_get_html('http://www.google.com');
Однако как отправить пост-переменные (например, cURL) на эту страницу и получить ответ? Например
$html = file_get_html('http://www.google.com', array("Item"=>"Value", "Item2"=>"Value2"));
Документация не упоминает об этом, насколько я могу это видеть, но, взглянув в исходный код, я заметил, что используемая вами функция принимает контекст потока в качестве третьего аргумента. Вы можете создать почтовый запрос с помощью этой функции PHP следующим образом:
$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);
Если вам не нравятся контексты или вы предпочитаете другой метод (например, расширение cURL), вы также можете просто извлечь содержимое страницы, используя его, затем подайте его в парсер с помощью str_get_html()
или $parser->load()
; сам класс делает практически то же самое внутри метода, который вы используете сейчас.