$length = strlen($s);
if($length == 10)
{
$newval = '';
for($i = 0; $i < 10; $i++)
{
$newval .= $s[$i];
if($i == 2 || $i == 5)
{
$newval .= '-';
}
}
}
如果有人知道我会使用什么类型的字符串函数,请告诉我。
答案 0 :(得分:5)
当然,您可以使用substr
来完成此任务:
if(strlen($s) == 10) {
$s = substr($s, 0, 3) . '-' . substr($s, 3, 3) . '-' . substr($s, 6);
}
答案 1 :(得分:4)
简单的字符串操作应保持简单,因此请使用最直接的解决方案:
$str = substr($input, 0, 3).'-'.substr($input, 3, 3).'-'.substr($input, 6);
但通常情况下,有几种方法可以给猫皮肤,所以你可以选择。像:
$str = sprintf('%s-%s-%s', substr($input, 0, 3), substr($input, 3, 3), substr($input, 6));
或者
$str = preg_replace('/^(.{3})(.{3})(.*)$/', '\1-\2-\3', $input);
或者
$str = preg_split('//', $input);
if (5 > count($chrs)) {
array_splice($chrs, 4, 0, '-');
}
if (3 > count($chrs)) {
array_splice($chrs, 2, 0, '-');
}
$str = implode('', $chrs);
答案 2 :(得分:0)
substr?
if(strlen($s) == 10)
{
$newval.=substr($s,0,3)."-".substr($s,3,3)."-".substr($s,6,4);
}