У меня больше настроек в моих массивах, но для простоты я размещаю только те, с которыми я хочу сгруппировать, используя или "|".
$patterns = array();
$patterns[1] = "/(?:\:)/";
$patterns[2] = "/(?:\-_)/";
$patterns[3] = "/(?:\_-)/";
$replacements = array();
$replacements[1] = "-";
$replacements[2] = "-";
$replacements[3] = "-";
preg_replace($patterns, $replacements, $data['string']);
Я пробовал разные попытки с нет успеха Ниже приведена попытка сгруппировать нужный массив:
$patterns = array();
$patterns[1] = "/(?::|-_|_-|)/";
$replacements = array();
$replacements[1] = "-"
Все мои другие массивы имеют уникальные $ замены . Оставление исходной настройки работает так, как я хочу, но я просто хочу уменьшить количество массивов, сгруппировав эти 3 в 1. Это регулярное выражение на самом деле работает, как и предполагалось, но для моего сценария мне пришлось оставить исходную настройку, как было / есть. результаты из-за порядка замен. Запуск замены в одной группе дал странные результаты.