Шаблон, который вы намереваетесь заменить, представляет собой запятую, за которой следует пробел, за которым следует другая запятая. Итак, соответствующее регулярное выражение: ", \ s," . Это может повторяться любое количество раз, так что это будет "(, \ s,) +" .
Итак, соответствующий код PHP будет выглядеть примерно так:
$var = "hello, welcome, , , ,"
$output = preg_replace('/(,\s,)+/', '', $var);
Редактировать 1:
Спасибо @toto за напоминание о том, что этот код работает только для четного числа запятых. Классическая ошибка, заключающаяся в том, что я не брал никаких дополнительных тестовых случаев, чем тот, о котором спрашивал пользователь при тестировании моего кода.
Если вы хотите включить четное и нечетное число запятых, то шаблон, которому вы должны соответствовать: ", (\ s,) +". За запятой следует любое количество пробелов и запятых.
Итак, новый код PHP будет:
$var = "hello, welcome, , , ,"
$replacement = '';
$output = preg_replace('/,(\s,)+/', $replacement, $var);
Если вы хотите просто избавиться от лишних запятых, то сначала обрежьте $ var запятых и присвойте ',' значение $ replace.
Это даст вам аккуратный вывод.