字符串替换多次出现

jku*_*ner 1 php string replace

我有以下字符串

Re: Re: Re: Re: Re: Re: Re: Re:
Run Code Online (Sandbox Code Playgroud)

我想要的是改变这个字符串的最终结果是:

Re:
Run Code Online (Sandbox Code Playgroud)

所以我正在寻找的方法是检测多个Re:(中间有空格)并将其更改为一个Re:.

如果我有任何想法如何实现这一点,我会发布一些代码,但没有真正的线索如何做到这一点 php

ish*_*egg 8

你可以使用这个正则表达式:

<?php
$s = "Re: Re: Re: Re: Re: Re: Re: Re: Prueba";
$s = preg_replace("/(Re: ?){2,}/i", "Re: ", $s);
var_dump($s); // Re: Prueba
Run Code Online (Sandbox Code Playgroud)

说明:

(Re: ?) is just Re: and an optional space between them.
{2,}    means 2 or more times (if it's just one, why replace it)
i       so it's case insensitive
Run Code Online (Sandbox Code Playgroud)

演示