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

2022-08-30 15:32:20

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

$str="nothing inside";

通过搜索将“无”替换为“某物”,并在不使用的情况下进行替换substr

输出应该是:“里面的东西”


答案 1

使用限制为 1 的 preg_replace():

preg_replace('/nothing/', 'something', $str, 1);

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


答案 2

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

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


推荐