-3
我试图使用CURL来抓取一些网站。为了改变相对URL的我已经插入这样的:使用CURL更改相对网址
$curl_scraped_page = preg_replace("/<head>/i", "<head><base href='$url' />", $curl_scraped_page, 1);
它的工作好于大多数的网站,但不是所有的人。例如本网站“NS Website”节目的没有任何影响,这意味着该URL的完成我的域基地网址:mydomain.com/css.css
这是完整的代码即时通讯使用:
<?php
$url = $_GET['url'];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
$curl_scraped_page = preg_replace("/<head>/i", "<head><base href='$url' />", $curl_scraped_page, 1);
curl_close($ch);
echo $curl_scraped_page;
?>
那是因为你使用正则表达式来添加元素:
替换为正则表达式。最简单的方法是使用DOMDocument。它不适用于你的链接示例网站的具体原因是因为它具有'
'而不仅仅是''。 – Jon 2013-05-05 09:33:56@Jon你说的“DOMDocument”是什么意思? JavaScript的? – Youss 2013-05-05 09:35:48
@Youss http://php.net/DOMDocument - 对于已经有不同'
hakre
2013-05-05 09:35:52