我有
$string="this+++is+test";
需要str_replace
更改许多"优点"一个"加&#34 ;;
示例:this+is+test
答案 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