background image

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