在每个href中输出完整链接

时间:2014-02-15 10:59:33

标签: php curl hyperlink simple-html-dom

我使用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> 

我怎样才能做到这一点?

2 个答案:

答案 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