我有一个文本区域,可以输入多个域名来检查可用性。在下面的脚本中,我将空格替换为“-”。但我也想要一个没有“-”的域名版本。
例如,说我输入了:
好话
另一个神的话
然后我希望脚本返回两者:
一句好话
另一个神的词
和And:
古德字
另一个词
$domaininput = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$change_space = str_replace(" ","-",$domaininput);
$change_new_line = str_replace("\n",",",$change_space);
$manydomains = explode("," , $change_new_line);
foreach ($manydomains as $domain){
//some code
}如何在PHP中做到这一点?
发布于 2011-03-17 22:30:56
$manydomains = ... // as above...
// Get alternatives by removing dashes:
$alternatives = explode(",", str_replace("-", "", $change_new_line));
// If a domain name did not contain a dash, there will be duplicates in
// $manydomains and $alternatives. array_unique() takes care of those.
$manydomains = array_unique(array_merge($manydomains, $alternatives));发布于 2011-03-17 22:30:08
尝试:
$domaininput = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$change_space = str_replace(" ","-",$domaininput);
$change_space .= str_replace(" ", "", $domaininput);
$change_new_line = str_replace("\n",",",$change_space);
$manydomains = explode("," , $change_new_line);
foreach ($manydomains as $domain){
//some code
}发布于 2011-03-17 23:15:53
如果你还没有让它在这里工作,一个简单的函数来做这个工作,加上它只会返回唯一的域。
function getDomains($domaininput){
function domainA($domaininput){
$return = str_replace(" ","-",$domaininput);
return $return;
}
function domainB($domaininput){
$return = str_replace("-","",$domaininput);
return $return;
}
$domaininput = str_replace("\n",",",$domaininput);
$return = domainA($domaininput)."\n";
$return .=domainB($return);
$return = str_replace("\n",",",$return);
$return = trim($return,'-,');
$return = explode(",",$return);
$return = array_unique($return);
return $return;
}
$manydomains = getDomains($domaininput);https://stackoverflow.com/questions/5346016
复制相似问题