2015-04-27 3 views
-4

У меня есть строкаКак разбить строку с разделителем на PHP?

1b00bd515bf8cbc5a86f3b714361fab6 

, и я хочу, чтобы разбить его так:

1b00bd51-5bf8cbc5-a86f3b71-4361fab6 

Как я могу это сделать?

+0

Вы что-то пробовали? – Rizier123

+0

Как вы решаете точку останова? –

+0

Итак ... разбивая строку каждые 8 ​​символов? – MLeFevre

ответ

1

функция использование chunk_split разбить строку на более мелкие куски

ниже:

$str = "1b00bd515bf8cbc5a86f3b714361fab6"; 

$str = trim(chunk_split(str_replace('-','',$str), 8, '-'), '-'); 
+0

Зачем OP «попробуйте это»? Пожалуйста, добавьте объяснение того, что вы сделали, и почему вы сделали это таким образом не только для OP, но и для будущих посетителей SO. – Rizier123

+0

use str_replace ('-', '') для замены - перед использованием chunk_split –

0

Вы можете использовать chunk_split() метод для разбиения строки, основанный на фиксированной длины. link

Решение должно выглядеть следующим образом

$newstr = chunk_split($string,8,"-"); 
0

Попробуйте это:

function split($str, $num, $cr) 
{ 
    return trim(chunk_split($str, $num, $cr), $cr); 
} 
$str = "1b00bd515bf8cbc5a86f3b714361fab6"; 
echo split($str, 8, '+'); 

Выход:

1b00bd51+5bf8cbc5+a86f3b71+4361fab6 
0

вариация на выше, но, возможно, меньше кода.

$s='1b00bd515bf8cbc5a86f3b714361fab6'; 
    echo implode('-', str_split($s,8)); 
Смежные вопросы