2011-06-06 10 views
1

是否有另一種替代(較小)的格式化字符串單獨?就像這樣:格式化與點分開的字符串

未格式化: 9211fe01c98c8847c1a397a6c9c95986

格式化 9211.fe01.c98c.8847.c1a3.97a6.c9c9.5986

我使用SUBSTR函數,像這樣的例子:

$part1 = substr($codigo, 0, 4); 
$part2 = substr($codigo, 4, 4); 
$part3 = substr($codigo, 8, 4); 
$part4 = substr($codigo, 12, 4); 
$part5 = substr($codigo, 16, 4); 
$part6 = substr($codigo, 20, 4); 
$part7 = substr($codigo, 24, 4); 
$part8 = substr($codigo, 28, 4); 
echo "$part1.$part2.$part3.$part4.$part5.$part6.$part7.$part8";  

該字符串有32個字符。

回答

5

使用str_splitimplode

$str = '9211fe01c98c8847c1a397a6c9c95986'; 
$result = implode('.', str_split($str, 4)); 
2
$a = "9211fe01c98c8847c1a397a6c9c95986"; 
echo preg_replace ('/(.{4})(?=.)/', '\\1-', $a); 
1
$arr = implode('.',str_split($codigo,4));