如何使用cURL读取html正文内容

时间:2012-03-29 11:34:10

标签: php curl

我正在使用以下代码来使用php

从请求的页面获取响应
$ch = curl_init('http://myPageURL/');
curl_setopt($ch, CURLOPT_HEADER, 1);
$c = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); 

此处的回复显示标题和其他信息,包括正文内容。 但我只需要身体内容作为回应,这样做的代码是什么?

提前致谢

2 个答案:

答案 0 :(得分:2)

因为你只对body标签感兴趣,你可以这样做:

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

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

  ?>

这只是一个快速示例,说明如何执行此操作。但请注意,页面中可能有多个body标签(如果使用iframe)。身体标签也可以包含属性。

答案 1 :(得分: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;

这将提供内容,我将其添加到结果变量中并添加了一些设置,以确保在您要访问的页面重定向到另一个页面时收到内容。