如何在php中添加少量数字后添加特殊字符

时间:2017-10-16 10:37:47

标签: php

我有一个小问题,我想在每9个数字之后添加特殊字符。 这是示例

$new = "111222333444555666777888999";

现在我想要像这样的结果

$add_charcter = ($new, "//any method to add special character");

结果应该是这样的

111222333-444555666-777888999

3 个答案:

答案 0 :(得分:3)

可以使用str_splitimplode

  • str_split - 将字符串转换为数组
  • implode - 使用字符串
  • 连接数组元素

示例:

$str = "111111111222222222333333333";
echo implode("-", str_split($str, 9)); // 111111111-222222222-333333333

答案 1 :(得分:3)

具有preg_replace功能的 最短

$new = "111222333444555666777888999";
$result = preg_replace('/.{9}(?!$)/', '$0-', $new);

print_r($result);

输出:

111222333-444555666-777888999

Regexp模式阐明:

  • .{9} - 匹配9个字符

  • (?!$) - 负前瞻断言,确保匹配的9个字符的序列不是最后一个,以避免在字符串末尾添加特殊字符

答案 2 :(得分:2)

chunk_split()可用于将字符串拆分为更小的块。

 $new = "111222333444555666777888999";
 $result = chunk_split($new, 9, '-');
 echo rtrim($result,'-');