2012-03-29 3 views
2

Я использую следующий код, чтобы получить ответ от запрашиваемой страницы с помощью PHPкак читать HTML содержимое тела с помощью Curl

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

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

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

+0

просто пройдите третий вариант как 0 в curl_setopt ($ ch, CURLOPT_HEADER, 0); он отключит включение заголовка в ответ. –

ответ

2
$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; 

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

3

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

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

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

    ?> 

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

+0

Я не могу получить тело, все время появляется пустой экран. – GuRu

Смежные вопросы