转换"," INTO" - "使用PHP的正则表达式

时间:2014-10-14 22:17:54

标签: php regex preg-replace

我想获得这个

  

狗猫小鼠

来自其中的每一个

  • 狗,猫,老鼠
  • 狗,猫,老鼠
  • 狗猫小鼠

我想出的是2 preg_replace

$str = preg_replace('/[,\s]/', '-', $str);
$str = preg_replace('/--/', '-', $str);

在我的本地服务器上运行但是不能用于生产,它给了我

  

狗,猫,老鼠 - >狗 - 猫 - 小鼠

这不是我想要的

2 个答案:

答案 0 :(得分:2)

+字符集需要[,\s]个量词。

它改变的是它现在意味着不是"任何逗号或空格字符"但是"任何连续的逗号和空白字符"

preg_replace('/[,\s]+/', '-', $str)

答案 1 :(得分:0)

preg_replace('/,\h*|\h+/', '-', $str)

使用\ h而不是\ s