我有一个基本的域检查器,它返回“此域名是免费的”或“此域名不可用”消息。但我该如何提出建议呢?
让我们说访问者检查'www.stackoverflow.com'是否可用。当它可用时,没有问题,用户可以订购它。当它不可用时,我希望它为其他扩展做建议。像:
www.stackoverflow.com is not available,
The following domains are available:
www.stackoverflow.net
www.stackoverflow.co.uk
www.stackoverflow.info
这是我目前的档案:
<?php
if(isset($_POST['check'])) {
if (!empty($_POST['domain_name'])){
$domain = trim($_POST['domein_naam']).$_POST['domain_list'];
$result = @dns_get_record($domain, DNS_ALL);
if(empty($result)) {
echo "<H2 style='color:green;' >Domain $domain is available.</H2>";
} else {
echo "<H2 style='color:red;'>Domain $domain is not available.</H2>";
}
} else {
echo "<H2 style='color:red;'>Fout: Domein kan niet leeg zijn.</H2>";
}
}
?>
答案 0 :(得分:0)
在不了解所有代码结构的情况下,很难为您提供最佳方法 但是一个简单的想法:
假设用户输入的网站($ _POST / $ _ GET / etc)存储在$strUserSite
变量中。
在(.com,.net等)中有一个包含所有扩展名的数组($aryFurtherChecks
或其他)。
通过将$strUserSite
var添加到其中,循环数组检查用户输入的每个域是否有效。
如果来自数组的domain +扩展可用,则将其回显(取决于您的代码设置/框架等)或添加到新数组,然后使用“这些也可用”循环第二个数组。
您使用哪种方法取决于您是否使用程序化的一体化文件代码或类等 如果后者然后设置一个新数组将是首选,在您的视图/模板/任何文件中循环它并用您的HTML和样式等回显每个。
答案 1 :(得分:0)
dns_get_record()
不能用于确定域是否可用于注册,因为并非所有注册域都具有DNS记录。例如,example.info
已注册,但没有DNS记录。
由于听起来好像您计划将此作为域名注册系统的一部分使用,因此您可能会访问域名注册API。大多数此类API的提供商都有调用来生成建议 - 尝试使用它。如果不这样做,您将需要从用户输入的域中删除TLD,并将其替换为您想要尝试的替代方案。