试试这个:
$str = preg_replace('/,{2,}/',',trim($str,'));
trim
将删除起始和尾随逗号,而preg_replace
将删除重复的逗号.
另外,正如@Spudley建议的那样,正则表达式/,} /可以替换为/,/它也会起作用.
编辑:
如果逗号之间有空格,您可以尝试在上面的行之后添加以下行:
$str = implode(',array_map('trim',explode(',$str)))