2011-03-17 5 views
0

나는 여러 도메인 이름을 입력 할 수있는 텍스트 영역이 있습니다. 아래 내 스크립트에서 "-"로 공백을 대체합니다. 그러나 "-"없이도 도메인 이름 버전을 원합니다.str_replace()를 사용하여 두 가지 다른 버전을 반환하십시오.

말 내가 입력 예 :

좋은 단어

가 그럼 난 스크립트가 모두 반환하려는 사람 같아 신 단어 :

A- 좋은 단어

a-nother-god-word

또한 :

agoodword

anothergodword이가 PHP에서 할 수있는 방법

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

?

+2

실행 일상의 2 배를 반환합니다 가지고 있지 않은 경우. 변경할 때마다 원하는대로 변경하십시오. –

답변

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

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

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); 
관련 문제