Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP从外部站点获取内容_Php_Html_Curl - Fatal编程技术网

PHP从外部站点获取内容

PHP从外部站点获取内容,php,html,curl,Php,Html,Curl,我试图从我们的主网站获取一个内容到微站点,所以微站点只从主站点获取内容,而没有数据库 我对curl很熟悉,因为当我尝试解析内容时,我对curl是新手,只显示标题、img和摘要文本(到目前为止还不错)。但我接下来要做的是,当用户点击标题并链接到详细信息文章时,不要跳转到主站点(原始站点/源) 你知道怎么做吗 我目前的代码是: $curl = curl_init('http://www.mainsite.com/indeks/64/'); curl_setopt($curl, CURLOPT_RE

我试图从我们的主网站获取一个内容到微站点,所以微站点只从主站点获取内容,而没有数据库

我对curl很熟悉,因为当我尝试解析内容时,我对curl是新手,只显示标题、img和摘要文本(到目前为止还不错)。但我接下来要做的是,当用户点击标题并链接到详细信息文章时,不要跳转到主站点(原始站点/源)

你知道怎么做吗

我目前的代码是:

$curl = curl_init('http://www.mainsite.com/indeks/64/');

curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

$page = curl_exec($curl);

if(curl_errno($curl)) // check for execution errors
{
    echo 'Scraper error: ' . curl_error($curl);
    exit;
}

curl_close($curl);

$regex = '/<ul class="list_indeks">(.*?)<\/ul>/s';
if ( preg_match($regex, $page, $list) )
    echo $list[0];
else 
    print "Not found"; 
$curl=curl\u init('http://www.mainsite.com/indeks/64/');
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);
$page=curl\u exec($curl);
if(curl\u errno($curl))//检查执行错误
{
回显“刮片错误:”。卷曲错误($curl);
出口
}
curl_close($curl);
$regex='/
    (*?)/s'; if(预匹配($regex,$page,$list)) echo$list[0]; 其他的 打印“未找到”;

感谢您的帮助

您需要将页面中的所有相对URL重写为指向主站点的绝对URL。您好@Barmar,感谢您的回复。正如我在下面提到的,我对这方面很陌生,你能举个例子吗?这很复杂,我不知道如何正确地做。顺便说一句,我试着在谷歌上看一下,而不是图坦卡蒙之类的东西。你在任何教程中都找不到这一点,这太不寻常和复杂了。你需要重写页面中的所有相对URL,使之成为指向主站点的绝对URL。嗨@Barmar,谢谢你的回复。正如我在下面提到的,我对这方面真的很陌生,你能举个例子吗?这很复杂,我不知道如何正确地做。顺便说一句,我试着在谷歌上看一下,而不是图坦卡蒙之类的东西。你在任何教程中都找不到,这太不寻常和复杂了。