数组示例条目:
test : title=Diet Coke
变成
test:title=Diet Coke
这种使用正则表达式的方法只处理一个字符串,但如果你想做一个数组,只需遍历数组并将其应用于每个字符串:
$target="test : title=Diet Coke";
print_r(preg_replace('/\s*([\s:])\s*/','\1',$target));
输出:
test:title=Diet Coke
我不是正则表达式专家,但这是一般的想法:
$my_array = array('test : title=Diet Coke');
function do_crazy_thing($string){
$string = preg_replace('/ +/', ' ', $string);
$string = preg_replace('/ : /', ':', $string);
return $string;
}
$my_array = array_map('do_crazy_thing', $my_array);
编辑:刚刚对此进行了测试,似乎工作正常。
foreach ( $a as $k=>$v ) {
$v = preg_replace("`\s*:\s*`", ":", $v);
$a[$k] = preg_replace("`\s*`", " ", $v);
}
非正则表达式方式,
$string= "test : title=Diet Coke";
$s = explode(":",$string);
$s[0]=trim($s[0]);
$s[1]=trim($s[1]);
print implode(":",$s);