我有一个小问题我想在后每9个数字加上一个特殊字符。 我这里是如何在php中添加特殊字符php
$new = "111222333444555666777888999";
现在我想造成这样的事情
$add_charcter = ($new, "//any method to add special character");
和结果shouldBe这样喜欢这个
111222333-444555666-777888999
我有一个小问题我想在后每9个数字加上一个特殊字符。 我这里是如何在php中添加特殊字符php
$new = "111222333444555666777888999";
现在我想造成这样的事情
$add_charcter = ($new, "//any method to add special character");
和结果shouldBe这样喜欢这个
111222333-444555666-777888999
的最短一个与preg_replace
功能:
$new = "111222333444555666777888999";
$result = preg_replace('/.{9}(?!$)/', '$0-', $new);
print_r($result);
输出:
111222333-444555666-777888999
正则表达式模式说明:
.{9}
- 匹配9个字符
(?!$)
- 负前向断言,确保匹配9个字符的序列是不是最后一个,以避免在字符串的末尾添加特殊字符
它的工作非常感谢你 – Joe
@Joe,不客气 – RomanPerekhrest
chunk_split()可用于将字符串分割成较小的块。
$new = "111222333444555666777888999";
$result = chunk_split($new, 9, '-');
echo rtrim($result,'-');
是的,但是这会在字符串的末尾添加“ - ”。 – Gordon
对不起,我没有注意到它,我使用rtrim()编辑了答案。 –
和你的问题是? – madalinivascu
$ string = substr_replace($ new,“ - ”,$ position = 9,$ length = 0); – weletonne
欢迎使用堆栈溢出。你已经尝试过这么做了吗?请回顾[预计需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)。堆栈溢出不是一种编码服务。您需要研究您的问题,并尝试在发布之前亲自编写代码。如果遇到某些特定问题,请返回并包含[最小,完整和可验证示例](https://stackoverflow.com/help/mcve)以及您尝试的内容摘要,以便我们提供帮助。 – cramopy