-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