Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Поставить пробелы после 1 3 и 6 символа в строке.


Автор: Jodarok 17.6.2009, 13:35
Есть список с данными вот такого формата

1010021
1010031
1010041

строка из 7 символов, нужно взять список с этими данными 

$conts =  file('spisok.txt');

и привести его к формату 

1 01 002 1
1 01 003 1
1 01 004 1

То есть поставить пробелы или символ табуляции TAB после 1 символа в строке, после 3 и после 6.

Подскажите пожалуйста как это реализовать? 

Автор: youri 17.6.2009, 13:52
preg_replace или substr и .

Автор: lelik133 17.6.2009, 14:09
substr и конкатенация с пробелом или табом или чем еще душе угодно

Автор: webevt 17.6.2009, 22:13
Код

$conts =  file('spisok.txt');
for( $i = 0, $c = count($conts); $i < $c; ++ $i )
{
  $conts [$i] = substr( $conts [$i], 0, 1 ) .' '. substr( $conts [$i], 1, 2 ) .' '. substr( $conts [$i], 3, 3 ) .' '. substr( $conts [$i], 6, 1 );

  // или вот так:
  // $conts [$i] = preg_replace( "/^(\d)(\d{2})(\d{3})/", "\\1 \\2 \\3 ", $conts [$i] );
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)