Home > Backend Development > PHP Tutorial > PHP uses regular expressions to extract links in content

PHP uses regular expressions to extract links in content

墨辰丷
Release: 2023-03-30 20:26:01
Original
2476 people have browsed it

This article mainly introduces the relevant information about PHP regular expressions to obtain all links of the content. Friends in need can refer to it.

Method one:

function get_all_url($code){ 
    preg_match_all(&#39;/<as+href=["|&#39;]?([^>"&#39; ]+)["|&#39;]?s*[^>]*>([^>]+)</a>/i&#39;,$code,$arr); 
    return array(&#39;name&#39;=>$arr[2],&#39;url&#39;=>$arr[1]); 
}
Copy after login

Method two:

/**
 * date 2015-07-24
 **/
 
$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=[&#39;"]?([^ &#39;"]+)[&#39;" ]|u"; 
preg_match_all($pattern,$contents, $regarr, preg_set_order);//匹配所有href= 
for($i=0;$i<count($regarr);$i++){//遍历所有匹配 
if(!eregi("://",$regarr[$i][1]))//是否是相对路径,即是否还有:// 
if(substr($regarr[$i][1],0,1)=="/")//是否是站点的根目录 
  echo "link".($i+1).":".$site.$regarr[$i][1]."<br/>";//根目录 
else
  echo "link".($i+1).":".$base.$regarr[$i][1]."<br/>";//当前目录 
else
echo "link".($i+1).":".$regarr[$i][1]."<br/>";//相对路径 
}
fclose($fp);
Copy after login

Summary: The above is the entire content of this article, I hope it can be helpful to everyone’s learning helped.

Related recommendations:

Five ways to generate random passwords in php

Basic knowledge and application of php design patterns

PHP jQuery MySql implementation of red and blue voting examples

The above is the detailed content of PHP uses regular expressions to extract links in content. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template