$domain_parts = explode('.', preg_replace('/\s+/', '', $_GET['domain']));
$sld = $domain_parts[0];
我想将第1行和第2行的功能转换为1行代码。
$_GET['domain']
提供的示例google.com
在一行中最干净的方法是什么?
答案 0 :(得分:2)
您可以尝试使用list
list($domain_parts) = explode('.', preg_replace('/\s+/', '', $_GET['domain']));
它将直接返回$domain_parts[0]
。您也可以尝试使用strtok
echo strtok(preg_replace('/\s+/', '', $_GET['domain']), '.');
请参阅此STRTOK
答案 1 :(得分: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
答案 2 :(得分:0)
您也可以不使用像这样的正则表达式
$sld = str_replace(' ','',substr($_GET['domain'],0,strpos($_GET['domain'],'.')));