You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP的preg_replace将逗号后多空格加&替换为&

解决PHP中替换逗号后多空格+&的问题

哈哈,这个问题我太熟了!str_replace确实只能匹配完全一模一样的字符串,遇到这种空格数量不固定的场景,正则表达式才是咱们的救星~

解决方案:使用preg_replace实现动态匹配

你可以借助PHP的preg_replace函数,它支持正则表达式匹配,能轻松处理任意数量的空格。直接上代码:

$var = "a,   & b."; // 逗号后有3个空格的示例输入
$var = preg_replace('/, +&/', ' &', $var);
echo $var; // 输出:a & b.

正则表达式解释

咱们拆解一下这个正则/, +&/:

  • /:正则表达式的起始和结束分隔符
  • ,:匹配字面意义的逗号
  • +:表示匹配前面的空格1次或多次,完美解决动态空格的问题
  • &:匹配字面意义的&符号

这样不管逗号后面跟着1个、2个还是N个空格,都会被精准匹配到,然后替换成你想要的「单个空格+&」的形式。

可选调整:如果不需要保留空格

要是你的需求是直接去掉逗号和所有空格,只保留&(比如输入a, & b.要变成a& b.),只需要修改替换字符串:

$var = preg_replace('/, +&/', '&', $var);

内容的提问来源于stack exchange,提问作者David rhymes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:14:38