Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet reguläre Ausdrücke, um Links in Inhalten zu extrahieren

PHP verwendet reguläre Ausdrücke, um Links in Inhalten zu extrahieren

墨辰丷
墨辰丷Original
2018-06-08 15:51:082435Durchsuche

In diesem Artikel werden hauptsächlich die relevanten Informationen zum regulären PHP-Ausdruck vorgestellt, um alle Links zum Inhalt zu erhalten, auf die Freunde verweisen können.

Methode 1:

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]); 
}

Methode 2:

/**
 * 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);

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er kann hilfreich sein zum Lernen aller beigetragen.

Verwandte Empfehlungen:

Fünf Möglichkeiten, zufällige Passwörter in PHP zu generieren

Grundkenntnisse und Anwendung von PHP Entwurfsmuster

PHP+jQuery+MySql-Implementierung von roten und blauen Abstimmungsbeispielen

Das obige ist der detaillierte Inhalt vonPHP verwendet reguläre Ausdrücke, um Links in Inhalten zu extrahieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn