$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'URL FROM THE A HREF OF THAT PARTICULAR LINK');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($ch);
curl_close($ch);
echo $curl_response;
因此,当点击链接时,它不会将您引导至原始页面,而是运行curl函数并将您带到该页面。
P.S感谢编辑即将完成,但你先到了那里。
答案 0 :(得分:2)
所以你正在尝试编写代理?这已经完成了,open source。
你会想要在$ curl_response上进行替换。如果页面使用相对路径,则只需将<base href="http://yourdomain.com" />
附加到<head>
即可。此外,您可以str_replace('http://theirdomain.com/', '')
删除任何绝对路径。
答案 1 :(得分:1)
根据您的评论判断,您可能正在寻找的缺失部分可能是PHP DOM extension,也可能是可比较的。基本上,您想要解析您正在进行的页面的HTML,以便您可以对其进行更改。
您可以通过告诉cURL将页面源作为字符串返回给您(正如您所做的那样),然后将其提供给DOMDocument::loadHTML
。然后,您可以使用DOMDocument::getElementsByTagName
抓取所有链接(根据您的判断,提供'a'
,可能'img'
和其他一些链接。
一旦你拥有了DOMNodeList,你就可以通过href
检索属性来改变他们的...->attributes->getNamedItem('href')
- 属性(对于图像来说,src
当然,如果你想走那么远),使用属性...->nodeValue
调整内容,例如:
$attributeNode->nodeValue = myURLtransform($attribute->nodeValue);
最后,您可以使用DOMDocument::saveHTML
来更改代码,然后可以echo
。