вставка символов через равные промежутки

VictorKr

Новичок
вставка символов через равные промежутки

Добрый день,

Пример: есть строка в 100 символов,
Нужно: через каждые 8 символов вставить символ "-"

что-то в голову лезут мысли с разбиением строки на массив,
отрезать в цикле по восемь символов и прочее,
но чувствую, что можно сделать гораздо проще и в меньшее кол-во кода,
идейку подскажите.

Спасибо,
Виктор
 

Crazy

Developer
Никогда не понимал людей, дающих непроверенные советы. Контрольный пример:

PHP:
<?php

$text = "aaaa aaaa aaaa aaaa aaaa aaaa";
echo wordwrap($text,8,"-",1);

?>
Нетрудно видеть, что "-" вставляется вовсе не с тем интервалом и, кроме того, не ВСТАВЛЯЕТСЯ, ап ЗАМЕЩАЕТ собой символы.
 

Crazy

Developer
Re: вставка символов через равные промежутки

Автор оригинала: VictorKr
что-то в голову лезут мысли с разбиением строки на массив,
отрезать в цикле по восемь символов и прочее,
Самое короткое, навскидку, будет так:

PHP:
<?php

$text = "aaaa aaaa aaaa aaaa aaaa aaaa";
echo preg_replace('/(.{8})/','\1-',$text);

?>
Если в цикле самому нарезать по 8 символов, то, возможно, будет быстрее. Но кода будет больше.
 

1nDeX

Guest
2Crazy:
Нет, ты специально сделал $text = "aaaa aaaa aaaa aaaa aaaa aaaa";
А он имеет ввиду наверное что-то по типу $text = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; и так до ста символов...
Если я прав, то он сэкономит код wordwrap-ом...
 

Эмиль

Guest
2 1nDeX
А пробел по твоему для компа не символ?
 

Crazy

Developer
Автор оригинала: 1nDeX
Нет, ты специально сделал $text = "aaaa aaaa aaaa aaaa aaaa aaaa";
Не "нет, специально", а "да, специально".

А он имеет ввиду наверное
10г. телепатина перанально на килограмм веса? :)

Читаем внимательно задачу: "есть строка в 100 символов". Где здесь сказано, что строка не содержит пробелов?
 
Сверху