0
   $domain_parts = explode('.', preg_replace('/\s+/', '', $_GET['domain']));
   $sld = $domain_parts[0];

我想在 1 行代码中完成第 1 行和第 2 行的功能。

提供的一个例子$_GET['domain']google.com

在一行中执行此操作的最干净的方法是什么。

4

3 回答 3

2

你可以试试list喜欢

list($domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

它将直接返回$domain_parts[0]。您也可以尝试使用strtoklike

echo strtok(preg_replace('/\s+/', '', $_GET['domain']),  '.');

看到这个STRTOK

于 2013-08-03T06:59:48.157 回答
0
list($domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

$domain_parts将包含数组的第一个元素。

你可以像这样得到第二个元素:-

list(,$domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));

有关更多详细信息,请参见list()

或者你可以这样做:-

$domain_parts = explode('.', preg_replace('/\s+/', '', $_GET['domain']))[0];

如果你有 PHP >= 5.4

于 2013-08-03T06:58:48.893 回答
0

你也可以不用像这样的正则表达式

$sld = str_replace(' ','',substr($_GET['domain'],0,strpos($_GET['domain'],'.')));
于 2013-08-03T07:15:54.097 回答