2015-10-23 2 views
-4

У меня есть 24-длинная строка $string = "b46844869365d5c9138834b8", и я хочу добавить «-» после каждого шестого символа, поэтому у меня есть b46844-869365-d5c913-8834b8.добавить «-» после каждого шестого символа без «-» в конце строки

Я попытался следующие solotions:

$string = implode("-", str_split($string,6)); 

$string = wordwrap($string, 6, '-', true); 

$string = chunk_split($string, 6, '-'); 

, но все они добавляют "-" в конце результата, так что я получаю:

b46844-869365-d5c913-8834b8- 

какие-либо предложения?

ответ

0

Попробуйте это, его не добавляя - наконец.

echo wordwrap('b46844869365d5c9138834b8' , 6 , '-' , true); 

Выход:

b46844-869365-d5c913-8834b8 
+0

thx, я нашел свою ошибку, я повторил «$ string» для тестирования с помощью '. '
'' в конце, поэтому я думаю, что это делает '$ string' дольше, и поэтому он добавил в конце дополнительный« - ». – yangsunny

+0

Каким-либо образом, был ли ответ полезным? –

1

Попробуйте так:

<?php 
$string = "b46844869365d5c9138834b8"; 
$s = str_split($string,6); 
echo implode("-",$s); 
?> 
+0

просто повторил свое первое решение в 2-х линий ... – yangsunny

+0

Почему ОП "попробовать это"? Хороший ответ всегда будет объяснять, что было сделано, и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO. –

Смежные вопросы