每三个字符之间添加破折号

发布于 2024-12-20 06:37:39 字数 355 浏览 3 评论 0原文

我遇到了如何在每个第三个字符中添加破折号的问题。例如,我希望

ABCDEF turn into ABC-DEF

有以下代码:

$string = 'ABCDEF';
echo substr_replace(chunk_split($string,3),'-','3','2');
// the output is ABC-DEF

但是,如果我向 $string 变量添加更多字符(例如 ABCDEFGHI),则该代码不起作用。如果我使用上面的代码,输出将是:

ABC-DEF GHI

I had a problem on how to put dash in every 3rd character. For example, I want

ABCDEF turn into ABC-DEF

I have this code:

$string = 'ABCDEF';
echo substr_replace(chunk_split($string,3),'-','3','2');
// the output is ABC-DEF

However this code does not work if I add more characters to the $string variable such as ABCDEFGHI. If I use the above code, the output will be:

ABC-DEF GHI

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

故事↓在人 2024-12-27 06:37:39

您应该使用 PHP 的 str_splitimplode 函数。

function hyphenate($str) {
    return implode("-", str_split($str, 3));
}

echo hyphenate("ABCDEF");       // prints ABC-DEF
echo hyphenate("ABCDEFGHI");    // prints ABC-DEF-GHI
echo hyphenate("ABCDEFGHIJKL"); // prints ABC-DEF-GHI-JKL

请参阅 http://ideone.com/z7epZ 了解其工作示例。

You should use PHP's str_split and implode functions.

function hyphenate($str) {
    return implode("-", str_split($str, 3));
}

echo hyphenate("ABCDEF");       // prints ABC-DEF
echo hyphenate("ABCDEFGHI");    // prints ABC-DEF-GHI
echo hyphenate("ABCDEFGHIJKL"); // prints ABC-DEF-GHI-JKL

See http://ideone.com/z7epZ for a working sample of this.

拥抱影子 2024-12-27 06:37:39

简单地:

join('-', str_split($str, 3))

Simply:

join('-', str_split($str, 3))
倦话 2024-12-27 06:37:39

每个人都没有提到自动换行:

echo wordwrap('ABCDEFGHI', 3, '-', true);

Everyone failed to mention wordwrap:

echo wordwrap('ABCDEFGHI', 3, '-', true);
∝单色的世界 2024-12-27 06:37:39

在每三个字符之间放置破折号的示例

$string = 'ABCDEFABCDEF';
echo join('-', str_split($string, 4));
echo join('-', str_split($string, 2));

Example of Put dash between every third character

$string = 'ABCDEFABCDEF';
echo join('-', str_split($string, 4));
echo join('-', str_split($string, 2));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文