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


convert ", " INTO "-" with regular expressions using PHP

我想获得这个

狗猫鼠

从每一个

  • 狗、猫、老鼠
  • 狗、猫、老鼠
  • 狗猫鼠

我想到的是2 preg_replace

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

在我的本地服务器上工作,但在生产上不工作,它给了我

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

这不是我想要的

您的[,'s]字符集需要+量词。

它所改变的是,它现在的意思不是"任何逗号或空白字符",而是"任何连续的逗号和空白字符"

preg_replace('/[,'s]+/', '-', $str)
preg_replace('/,'h*|'h+/', '-', $str)

使用''h而不是''s