替换字符串中字符串的最后一次出现

2022-08-30 06:38:49

有谁知道一种非常快速的方法,用字符串中的另一个字符串替换字符串的最后一次出现?

请注意,字符串的最后一次出现可能不是字符串中的最后一个字符。

例:

$search = 'The';
$replace = 'A';
$subject = 'The Quick Brown Fox Jumps Over The Lazy Dog';

预期输出:

The Quick Brown Fox Jumps Over A Lazy Dog

答案 1

您可以使用此功能:

function str_lreplace($search, $replace, $subject)
{
    $pos = strrpos($subject, $search);

    if($pos !== false)
    {
        $subject = substr_replace($subject, $replace, $pos, strlen($search));
    }

    return $subject;
}

答案 2

另一个1线,但没有浸渍:

$subject = 'bourbon, scotch, beer';
$search = ',';
$replace = ', and';

echo strrev(implode(strrev($replace), explode(strrev($search), strrev($subject), 2))); //output: bourbon, scotch, and beer

推荐