如何添加 - 中间字符串

How to add - in-between strings

如何在字符串之间添加 -。 比方说,我想在第四个位置的 123456789101 中添加三次,从而使它看起来像这样:1234-5678-9101。

Substr_replace() 或者str_replace 都没有解决问题。

我会使用 str_split and implode.

的组合
$code = 123456789101;
$formatted = implode('-', str_split($code, 4) );
echo $formatted; //1234-5678-9101

有多种方法可以做到这一点。

使用子字符串

$output = sprintf('%s-%s-%s', substr($string, 0,4), substr($string,4,4), substr(8,4));

使用preg_replace

$output = preg_replace('/(.{4,4})(.{4,4})(.{4,4})/', '--', $string);