我使用Curl和简单的html dom来抓取一个网站,为了修复相关链接,我插入了这样的基本标记:
foreach($html->find('head') as $f) {
$f->innertext = "<base href='$url'>" . $f->innertext;
}
$url
是哪个网站我正在抓。问题是链接的物理输出如下:
<a href="/path_to_file"> link </a>
虽然我需要链接中的完整网址,如下所示:
<a href="http://www.somewebsite.com/path_to_file"> link </a>
我怎样才能做到这一点?
答案 0 :(得分:0)
每次设置时都会附加网址。
$base_url = "http://www.somewebsite.com/";
foreach($html->find('head') as $f) {
$f->innertext = "<base href='$base_url$url'>" . $f->innertext;
}
答案 1 :(得分:0)
尝试获取基本网址:
<?php
$baseURL = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
?>
然后将$baseURL
添加到您的href