Как читать содержание тела HTML, используя CURL - PullRequest
2 голосов
/ 29 марта 2012

Я использую следующий код, чтобы получить ответ с запрошенной страницы, используя php

$ch = curl_init('http://myPageURL/');
curl_setopt($ch, CURLOPT_HEADER, 1);
$c = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); 

Здесь в ответе отображается заголовок и другая информация, включая содержание тела. но мне нужно только содержание тела в качестве ответа, какой код будет делать это?

спасибо заранее

Ответы [ 2 ]

2 голосов
/ 29 марта 2012
$ch = curl_init('http://myPageURL/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
$result = curl_exec($ch);

echo $result;

Это даст содержимое, и я сделал это, чтобы добавить содержимое в переменную результата, и добавил некоторые параметры, чтобы убедиться, что содержимое получено, если страница, которую вы переходите, перенаправляет на другую.

2 голосов
/ 29 марта 2012

, так как вас интересует только тег body, вы можете сделать что-то вроде этого:

  <?php
     $response = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
     $start = stripos($response, "<body");
     $end = stripos($response, "</body");

     $body = substr($response,$start,$end-$start);

  ?>

Это лишь краткий пример того, как вы можете это сделать. Но учтите, что на странице может быть несколько тегов тела (если используются фреймы). А также тег body может содержать атрибуты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...