我有一个小问题,我想在每9个数字之后添加特殊字符。 这是示例
$new = "111222333444555666777888999";
现在我想要像这样的结果
$add_charcter = ($new, "//any method to add special character");
结果应该是这样的
111222333-444555666-777888999
答案 0 :(得分:3)
可以使用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,'-');