PHP 文章采集 URL 补全函数(FormatUrl)
写此函数作用就是为了开发采集程序,采集文章的时候会经常遇到页面里的路径是
相对路
径
或者 绝对根路径 不是 绝对全路径 就无法收集 URL
写采集必用的函数,
URL 补全函数,也可叫做 FormatUrl。
写此函数作用就是为了开发采集程序,采集文章的时候会经常遇到页面里的路径是
“相对
路径
” 或者 “绝对根路径” 不是“绝对全路径”就无法收集 URL。
所以,就需要本功能函数进行对代码进行格式化,把所有的超链接都格式化一遍,这样就
可以直接收集到正确的
URL 了。
路径知识普及
相对路径:
“../” “./” 或者前面什么都不加
绝对根路径:
/path/xxx.html
绝对全路径:
http:
//www.xxx.com/path/xxx.html
使用实例:
代码如下
:
<?php
$surl
="";
$gethtm
= '<a href="/index.htm">首页</a><a href="Resolvent/index.htm">解决方案</a>';
echo
formaturl(
$gethtm
,
$surl
);
?>
输出:
<a href="">首页</a><a href="">解决方案</a>
--------- 演示实例 ------------
原始路径代码:
http:
//www.newnew.cn/newnewindex.aspx
输出演示代码:
http:
//www.maifp.com/aaa/test.php
以下是函数代码
代码如下
:
<?php
function
formaturl(
$l1
,
$l2
){
if
(preg_match_all("/(<img[^>]+src=\"([^\"]+)\"[^>]*>)|(<a[^>]+href=\"([^\"]+)\"[^>]*>)|
(<img[^>]+src='([^']+)'[^>]*>)|(<a[^>]+href='([^']+)'[^>]*>)/i",
$l1
,
$regs
)){
foreach
(
$regs
[0]
as
$num
=>
$url
){
$l1
=
str_replace
(
$url
,lIIIIl(
$url
,
$l2
),
$l1
);
}
}
return
$l1
;
}