Простой HTML DOM Parser - Отправить переменные сообщения - PullRequest
4 голосов
/ 29 февраля 2012

У меня есть простой 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"));

1 Ответ

8 голосов
/ 29 февраля 2012

Документация не упоминает это, насколько я вижу, но после просмотра исходного кода я заметил, что функция, которую вы используете, принимает потоковый контекст в качестве третьего аргумента.Вы можете создать запрос на публикацию с помощью этой функции 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();сам класс делает то же самое внутренне с методом, который вы используете прямо сейчас.

...