我有一個小問題我想在後每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