首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >php替换从第0个位置开始出现的第一个字符串

php替换从第0个位置开始出现的第一个字符串
EN

Stack Overflow用户
提问于 2012-03-07 17:21:12
回答 8查看 60.6K关注 0票数 28

我想在php中搜索并用另一个单词替换第一个单词,如下所示:

代码语言:javascript
复制
$str="nothing inside";

在不使用substr的情况下,将“nothing”替换为“something”

输出应该是:'something inside‘

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-03-07 17:25:54

使用preg_replace(),限制为1:

代码语言:javascript
复制
preg_replace('/nothing/', 'something', $str, 1);

将正则表达式/nothing/替换为要搜索的任何字符串。由于正则表达式总是从左到右求值,因此这将始终与第一个实例匹配。

票数 63
EN

Stack Overflow用户

发布于 2012-03-07 17:36:26

在str_replace (http://php.net/manual/en/function.str-replace.php)的手册页上可以找到此函数

代码语言:javascript
复制
function str_replace_once($str_pattern, $str_replacement, $string){

    if (strpos($string, $str_pattern) !== false){
        $occurrence = strpos($string, $str_pattern);
        return substr_replace($string, $str_replacement, strpos($string, $str_pattern), strlen($str_pattern));
    }

    return $string;
}

使用示例:http://codepad.org/JqUspMPx

票数 14
EN

Stack Overflow用户

发布于 2012-03-07 17:28:55

尝尝这个

代码语言:javascript
复制
preg_replace('/^[a-zA-Z]\s/', 'ReplacementWord ', $string)

它所做的是选择从开始到第一个空格的任何内容,并将其替换为replcementWord。注意replcementWord后面的一个空格。这是因为我们在搜索字符串中添加了\s

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9598665

复制
相关文章

相似问题

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