0

我正在获取远程页面的源代码它从用户根据数组单击的 url 动态获取的远程页面的 url array('event_id', 'tv_id', 'tid', 'channel'):我使用下面的代码来获取 who;e 页面源,它​​工作得很好。

<?php
$keys = array('event_id', 'tv_id', 'tid', 'channel'); // order does matter
$newurl = 'http://lsh.streamhunter.eu/static/popups/';
foreach ($keys as $key)
    $newurl.= empty($_REQUEST[$key])?0:$_REQUEST[$key];

$newurl.='.html';
    function get_data($newurl) 
    { 
       $ch = curl_init();
       $timeout = 5;
       //$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.";
       $userAgent = "IE 7 – Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";
      curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
      curl_setopt($ch, CURLOPT_FAILONERROR, true);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      curl_setopt($ch, CURLOPT_AUTOREFERER, true);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch,CURLOPT_URL,$newurl);
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;

    }

    $html = get_data($newurl);

    echo $html

?>

这里的诀窍是我只想回显代码的第 59 行怎么做?

4

3 回答 3

0

在您的代码中,您使用file_get_contents的是函数而不是get_data函数,因此我将其从示例中删除。

<?php
    $keys = array('event_id', 'tv_id', 'tid', 'channel'); // order does matter
    $newurl = 'http://lsh.streamhunter.eu/static/popups/';
    foreach ($keys as $key)
        $newurl.= empty($_REQUEST[$key])?0:$_REQUEST[$key];

    $newurl.='.html';


    $html = file_get_contents($newurl);
    $html = explode("\n",$html);
    echo $html[58];

?>
于 2013-05-08T14:29:35.713 回答
0

您可能想使用 php 函数file将文件读入数组,然后使用它的索引。

$html = file($newurl);

echo $html[58];
于 2013-05-08T14:30:10.620 回答
0

如果您想准确获取从第 59 行返回的数据$newurl并且您不担心它会那么大,您可以使用file($newurl)[58].

如果您正在谈论来自 的数据curl,您可以使用explode("\n", $data)来获取类似的数组。

于 2013-05-08T14:30:21.173 回答