<?php
$str='first , second ,, third, ,fourth suffix';
echo preg_replace('~\s*(?:(,)\s*)+|(\s)+~', '$1$2', $str) . PHP_EOL
;
PD9waHAKCgokc3RyPSdmaXJzdCAsIHNlY29uZCAsLCB0aGlyZCwgLGZvdXJ0aCAgIHN1ZmZpeCc7CmVjaG8gcHJlZ19yZXBsYWNlKCd+XHMqKD86KCwpXHMqKSt8KFxzKSt+JywgJyQxJDInLCAkc3RyKSAuIFBIUF9FT0w7CmVjaG8gcHJlZ19yZXBsYWNlKCd+XHMqKD86KFssXHNdKVxzKikrficsICckMScsICRzdHIpOw==