dppcyt6157 2019-05-10 13:09
浏览 5
已采纳

如何使用PHP将`string`操作为给定的格式

I have 20 digits|length string, example: 22223333333334444333. How to manipulate with given format, like this: 00-00-000-000-000-0000-000 in PHP?

expected result: 22-22-333-333-333-4444-333

  • 写回答

1条回答 默认 最新

  • dqpfkzu360216 2019-05-10 13:24
    关注

    You could use some Regular Expressions to get it done in a few steps.

    <?php
    
    // Test string
    $string = "22223333333334444333";
    
    // Pattern: 22-22-333-333-333-4444-333
    $pattern = "/([0-9]{2})([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{4})([0-9]{3})/";
    
    // Get all the matching elements in the pattern
    preg_match($pattern, $string, $matches);
    
    // Remove the first element from the results (it's the entire string, we don't want that)
    array_shift($matches);
    
    // Join all the others matches with "-"
    $formatted = implode('-', $matches);
    
    // And there you have your formatted string
    var_dump($string, $formatted);
    
    // Output
    // '22223333333334444333' (length=20)
    // '22-22-333-333-333-4444-333' (length=26)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部