问题如下 - 我想从随机网址中获取子域名。
例如,www.somesite.com
会使用preg_match
来获取带有
[0] = www.somesite.com
[1] = www
同样,域somesite.com
会让我:
[0] = somesite.com
(并且不会[1]编入索引)
我使用的是以下reg_exp:
preg_match('/[www.]?([0-9A-Za-z-]+)'/', $_SERVER['SERVER_NAME'], $array);
但对于www.somesite.com
来说,它正在为我提供一个
[0] = www.somesite.com
[1] = ww (the last w seems to be missing)
有关如何完成此任务的任何提示?
答案 0 :(得分:3)
我没有看过你的完整正则表达式,但这部分正则表达式肯定是个问题:
[www.]?
方括号内的字符列表表示只匹配一个字符。这意味着w
或点,并且由于?
应该是:
(www\.)?
答案 1 :(得分:1)
让你走上正轨的小贴士:
^(.+\.|)([^\.]+\.[^\.]+)$
应该给你
[0] = www.somesite.com
[1] = www.
[2] = somesite.com
和
[0] = www.another.somesite.com
[1] = www.another.
[2] = somesite.com
和
[0] = somesite.com
[1] =
[2] = somesite.com