php如何在数组中添加逗号而不使其成为单独的值?

时间:2016-01-29 10:36:31

标签: php string replace word

我的字符串:

'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'

2 个答案:

答案 0 :(得分:3)

我自己没有尝试过代码,但我想这会解决问题

$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

希望这会有所帮助:)

答案 1 :(得分:1)

或者您可以将preg_replace_callback函数与以下正则表达式一起使用

^[^;]*

所以你的代码看起来像

echo preg_replace_callback("/^[^;]*/",function($m){
     return str_replace("-",',',$m[0]);
},"KCP-SAT-PRO;first_name last_name;address;zipcode;country");