Моя строка:
'KCP-PRO;first_name last_name;address;zipcode;country' //for example: 'KCP-PRO;Jon Doe;Box 564;02201;USA'
or
'KCP-SAT-PRO;first_name last_name;address;zipcode;country'
Как я могу изменить первую часть (KCP-PRO или KCP-SAT-PRO) и изменить ее на (KCP, PRO или KCP, SAT, PRO)? Результат должен быть:
'KCP,PRO;first_name last_name;address;zipcode;country'
or
'KCP,SAT,PRO;first_name last_name;address;zipcode;country'
Я сам не пробовал код, но думаю, это поможет
$string = 'KCP-SAT-PRO;first_name last_name;address;zipcode;country';
$stringExploded = explode(';', $string);
$stringExploded[0] = str_replace('-', ',', $stringExploded[0]);
$output = implode(';', $stringExploded);
//output should be KCP,SAT,PRO;first_name last_name;address;zipcode;country
Надеюсь это поможет 🙂
Или вы можете использовать preg_replace_callback
функция со следующим регулярным выражением
^[^;]*
Итак, ваш код выглядит как
echo preg_replace_callback("/^[^;]*/",function($m){
return str_replace("-",',',$m[0]);
},"KCP-SAT-PRO;first_name last_name;address;zipcode;country");