各位大大,我在测试PHP数据采集的时候遇到一个问题:采集回来的内容中图片不显示,因为图片的地址是相对地址,于是我找到一个转化为地址的函数,但是不清楚怎么使用,有人能指导下... 各位大大,我在测试PHP数据采集的时候遇到一个问题:采集回来的内容中图片不显示,因为图片的地址是相对地址,于是我找到一个转化为地址的函数,但是不清楚怎么使用,有人能指导下吗?转化函数如下(我主要不知道那2个参数分别应该是什么?):
//相对路径替换路径
function relative_to_absolute($content, $feed_url) {
preg_match('/(http|https|ftp):\/\//', $feed_url, $protocol);
$server_url= preg_replace("/(http|https|ftp|news):\/\//", "",$feed_url);
$server_url= preg_replace("/\/.*/", "", $server_url);
if ($server_url == '') {
return $content;
}
if (isset($protocol[0])) {
$new_content = preg_replace('/href="\//','href="'.$protocol[0].$server_url.'/', $content);
$new_content = preg_replace('/src="\//','src="'.$protocol[0].$server_url.'/', $new_content);
} else{
$new_content = $content;
}
return$new_content;
}
其实用不着这么麻烦的,采集时,你看到的图片路径是相对地址,是相对当前域名的一个相对路径而已,你只要在前面加上
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/
就是它的地址了,
就像/abc.jpg一样
http://当前域名(采集内容的域名,比如zhidao.baidu.com)/abc.jpg就是地址了
没必要搞复杂