Home  >  Article  >  php教程  >  php正则链接-取得内容所有链接

php正则链接-取得内容所有链接

WBOY
WBOYOriginal
2016-06-13 11:17:541279browse

下面提供二款关于php正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。  

下面提供二款关于php教程正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。

方法一

function get_all_url($code){
        preg_match_all('/"' ]+)["|']?s*[^>]*>([^>]+)/i',$code,$arr);
        return array('name'=>$arr[2],'url'=>$arr[1]);
}+href=["|']?([^>


方法二

$site=substr($url,0,strpos($url,"/",8));//站点

$base=substr($url,0,strrpos($url,"/")+1);//文件所在目录

$fp = fopen($url, "r" );//打开url

 

while(!feof($fp))$contents.=fread($fp,1024);//

$pattern="|href=['"]?([^ '"]+)['" ]|u";

 

preg_match_all($pattern,$contents, $regarr, preg_set_order);//匹配所有href=

for($i=0;$i($regarr);$i++){>

if(!eregi("://",$regarr[$i][1]))//是否是相对路径,即是否还有://

if(substr($regarr[$i][1],0,1)=="/")//是否是站点的根目录

   echo "link".($i+1).":".$site.$regarr[$i][1]."
";//根目录

else

   echo "link".($i+1).":".$base.$regarr[$i][1]."
";//当前目录

else

echo "link".($i+1).":".$regarr[$i][1]."
";//相对路径

}

fclose($fp);


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn