PHP正则匹配获取URL中域名的代码

WBOY
Freigeben: 2016-07-25 09:00:29
Original
2433 Leute haben es durchsucht
用php的正则表达式来获取URL中的域名,举了两个小例子,简单而实用,有需要的朋友,快来看看吧。

URL 一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位。 对象分组: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(?([^#]*))?(#(.*))? 12 3 4 5 6 7 8 9

例1,

<?php
 $search = '~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?~i';
 $url = 'http://bbs.it-home.org/pub/ietf/uri/#Gonn';
 $url = trim($url);
 preg_match_all($search, $url ,$rr);
 printf("<p>输出URL数据为:</p><pre class="brush:php;toolbar:false">%s
Nach dem Login kopieren
\n",var_export( $rr ,TRUE)); /* 各分组如下 $1 = http: $2 = http $3 = //bbs.it-home.org $4 = bbs.it-home.org $5 = /pub/ietf/uri/ $6 = $7 = $8 = #Gonn $9 = Gonn */ ?>

以上的正则表达式可以获取URL中的任何一部分。 下面这段代码更简洁,易懂一些。

<?php 
 // 从 URL 中取得主机名 
 preg_match("/^(http://)?([^/]+)/i", "http://bbs.it-home.org/index.html", $matches); 
 $host = $matches[2]; 
 // 从主机名中取得后面两段 
 preg_match("/[^./]+.[^./]+$/", $host, $matches); 
 echo "domain name is: {$matches[0]}n"; 
?>
Nach dem Login kopieren


Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!