我的网址可以是以下任何一种格式:
http://example.com
https://example.com
http://example.com/foo
http://example.com/foo/bar
www.example.com
example.com
foo.example.com
www.foo.example.com
foo.bar.example.com
http://foo.bar.example.com/foo/bar
example.net/foo/bar
本质上,我需要能够匹配任何常规URL。我如何example.com
通过一个正则表达式从所有这些文件中提取(或.net,无论tld刚好是什么。我需要它与任何TLD一起使用)?
好了,您可以parse_url
用来获取主机:
$info = parse_url($url);
$host = $info['host'];
然后,您可以做一些有趣的事情,仅获取TLD和主机
$host_names = explode(".", $host);
$bottom_host_name = $host_names[count($host_names)-2] . "." . $host_names[count($host_names)-1];
不是很优雅,但应该可以。
如果您想要一个解释,请按照以下步骤进行:
首先,我们http://
使用parse_url
的功能来抓取方案之间的所有内容(,等等),…解析URL。:)
然后我们采用主机名,并根据句点所在的位置将其分成一个数组,因此test.world.hello.myname
将变为:
array("test", "world", "hello", "myname");
之后,我们获取数组(4)中的元素数。
然后,我们从中减去2得到倒数第二个字符串(example
在您的示例中,主机名或)
然后,我们从中减去1以获得最后一个字符串(因为数组键从0开始),也称为TLD
然后,我们将这两部分与一个句点结合起来,您便有了基本主机名。
问题内容: 我需要编写一个函数来解析包含域名的变量。最好用一个示例来说明,变量可以包含以下任何内容: 但是当通过我的函数传递时,所有这些都必须返回example.com或example.co.uk,基本上是根域名。我敢肯定我之前已经做过,但是我已经搜索Google约20分钟了,找不到任何东西。任何帮助,将不胜感激。 编辑:忽略.co.uk,假定通过此功能的所有域都具有3个字母的TLD。 问题答案:
问题内容: 需要一种使用Python urlparse从URL提取不带子域的域名的方法。 例如,我想从完整的网址中提取,例如。 我似乎可以看到的最接近的是属性,但其中包括子域,在此示例中为。 我知道可以编写一些自定义字符串操作将www.google.com转换为google.com,但是我想避免在此任务中进行手工字符串转换或正则表达式。(这样做的原因是,我对url形成规则不够熟悉,以至于没有信心在
主要内容:示例子域是域名的扩展名,可以转发到URL或指向主机帐户或不同服务器中的IP地址和目录。 子域功能与主域名分开。 我们可以使用子域创建网站的区域。 示例 可以在网站上创建一个名为“移动端”的博客子域,例如:除了已经存在的 www.yiibai.com/m 之外,还可以通过URL - http://m.yiibai.com 访问该移动端网站。 理论上,我们可以为每个域名添加无限的子域名。 也可以添加多个子
X1.0新增 sp_get_host() 功能: 返回带协议的域名 参数: 无 返回: 类型string 带协议的域名,如http://www.thinkcmf.com
子域是一个域,它是主域的一部分并存在于同一服务器中。 我们也可以说它是第二个网站,它位于主域之下,但它可能与根网站有任何关系。 我们可以在这个子域下运行一个新网站。 For Example - blog.wenjiangs.com是根域wenjiangs.com的子域,blog.tutorialpoint.com也可以通过tutorialpoint.com/blog访问。 创建子域 Step 1
我打算为同一个网站买两个域名。根据使用的域,我计划在页面上提供略有不同的数据。是否有一种方法让我检测实际的域名,该网页正在加载,以便我知道什么,以更改我的内容? 我四处寻找类似的东西,但大多数都不是我想要的。 例如当使用 在JSFiddle上,它返回 即实际路径或其他任何路径。