替换许多" +++"一个" +"

时间:2014-03-21 18:32:36

标签: php regex str-replace

我有

$string="this+++is+test";

需要str_replace更改许多"优点"一个"加&#34 ;;

示例:this+is+test

4 个答案:

答案 0 :(得分:7)

此时使用preg_replace代替str_replace

$string="this+++is+test";
$string = preg_replace("/[+]+/", "+", $string);

此处[+]+表示+符号为1或更多时间连续。

答案 1 :(得分:1)

使用此正则表达式

\++

上述正则表达式随时匹配+

并将其替换为

+

由于我们用+替换它,所以没有probs。

答案 2 :(得分:1)

将2个或更多+替换为+

$str = "this+++is+test";

$str = preg_replace('/\+{2,}/', "+", $str);

答案 3 :(得分:-1)

此解决方案假设您的字符串末尾没有"+"个。既然你没有在你的例子中,我认为没关系。

php > $string="this+++is+test";
php > echo implode('+', # reassemble the string on a single '+' sign
        array_filter( # strip empty-string parts of the array entirely
          explode('+', $string) # Split the string into array on '+'
        )
      );
this+is+test