Удалить несколько запятых regex

Может кто-то, пожалуйста, дайте мне знать, как бы удалить несколько запятых, если они будут рядом друг с другом в PHP.

$address= rtrim(preg_replace('!\s+!', ' ', $address_line_1.' '.$address_line_2.', '.$town_village_city.', '.$state_province_county.', '.$postal_code.', '.$country),','); //return preg_replace('/([!?,.])+/',' ',$address); return preg_replace('!\,+!',' ',$address); 

Например, у меня может быть адрес без city_village, поэтому в конечном итоге с несколькими запятыми.

Также есть хорошие ресурсы для тестирования регулярного выражения PHP?

если между этими запятыми нет пробелов, вы можете просто заменить несколько запятых на одну запятую:

 $cleadAddress = preg_replace('/,+/', ',', $address); 

хотя вы заменяете запятую запятой (!), вы также заменяете несколько запятых. Это зависит от ваших точных данных, если более сложное регулярное выражение стоит усилий для сохранения некоторого времени выполнения.

Вероятно, правильный RegEx для этого, но здесь была моя работа вокруг –

 $cleanedAddress = str_replace(',',', ',preg_replace('/,+/', ',', $address)); 

Сделайте $ address только разделенным запятой, запустите preg_replace, чтобы удалить несколько запятых, а затем используйте str_replace, чтобы поместить запятые в запятую!