3

这是我当前的代码:

function get_cmd ()
{
    if (file_exists('/usr/local/bin/whois'))
        $cmd = '/usr/local/bin/whois';
    elseif (file_exists('/usr/bin/whois'))
        $cmd = '/usr/bin/whois';
    elseif (file_exists('/bin/whois'))
        $cmd = '/bin/whois';
    else
        die('whois shell command does not exist');

    return $cmd;
}

function get_whois ($cmd, $domain) 
{
    if (checkdnsrr($domain))
        $result = shell_exec(escapeshellcmd($cmd ." ". $domain));
    else
        $result = 'DOMAIN IS NOT REGISTERED';

    return $result;
}

$cmd = get_cmd();
echo get_whois($cmd, 'google.com');

现在,有没有一种不同的方法可以让我轻松提取域的到期日期,而不必想出一大堆不同的正则表达式?因为每个域的信息格式都会不同...

4

2 回答 2

0

我已经继续,只是为此使用了正则表达式。一些注册商甚至没有在他们的 whois 中提供到期日期。

于 2011-07-07T00:12:08.283 回答
0

此代码将为您提供到期日期

<? 
$detail = "whois " . $_GET['domain']; 
$res = shell_exec($detail); 
$start = strpos($res,"Expiration"); 
echo substr($res,$start+16,11); 
?>
于 2012-04-05T06:06:01.863 回答