2011-03-17 45 views
0

我有一個textarea,我可以鍵入多個域名來檢查可用性。 在我的腳本中,我將空格替換爲「 - 」。但我也想要一個沒有「 - 」的域名版本。使用str_replace()並返回兩個不同的版本

說,例如,我輸入:

了良好的口碑

一個諾特爾神字

然後我想腳本返回兩個:

A-好詞

a-nother-god-word

並且:

agoodword

anothergodword

$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做什麼?

+2

運行您的程序2倍。每次以您想要的方式執行更改。 – 2011-03-17 22:28:47

回答

0
$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)); 
+0

它almoast工作!該域名返回「a-good-word .com」和「agoodword .com」。最後一行是正確的:「a-nother-god-word.com」和「anothergodword.com」。任何想法爲什麼$ change_new_line不會工作? – Hakan 2011-03-17 22:59:28

0

嘗試:

$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 
} 
+0

謝謝,但不起作用。只返回最後一行。但這是一個開始! – Hakan 2011-03-17 22:37:28

0

,如果你沒有得到它仍然在這裏工作的待辦事項任務粗功能,再加上它只會返回唯一域

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); 
相關問題