首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用str_replace()并返回两个不同的版本

使用str_replace()并返回两个不同的版本
EN

Stack Overflow用户
提问于 2011-03-17 22:24:02
回答 3查看 294关注 0票数 0

我有一个文本区域,可以输入多个域名来检查可用性。在下面的脚本中,我将空格替换为“-”。但我也想要一个没有“-”的域名版本。

例如,说我输入了:

好话

另一个神的话

然后我希望脚本返回两者:

一句好话

另一个神的词

和And:

古德字

另一个词

代码语言:javascript
复制
$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中做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-17 22:30:56

代码语言:javascript
复制
$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
EN

Stack Overflow用户

发布于 2011-03-17 22:30:08

尝试:

代码语言:javascript
复制
$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
EN

Stack Overflow用户

发布于 2011-03-17 23:15:53

如果你还没有让它在这里工作,一个简单的函数来做这个工作,加上它只会返回唯一的域。

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5346016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档