SUBSTR (). Добавить символы для каждого n цифр

У меня есть строка, которая может варьироваться в зависимости от длины

$k= "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00"; 

Я ищу substr (), str_replace () или любую другую функцию, я возвращаю мне это

 $newstring= ('2013-01-01 12:00:00'), ('2013-01-02 12:00:00'), ('2013-01-02 12:00:00') 

Я должен использовать своего рода для каждых 18 символов, поскольку даты исходной строки могут отличаться.

Мое намерение состоит в том, чтобы затем создать запрос «INSERT INTO» MYSQL со всеми сгенерированными датами в столбце «дата».

 id date null 2013-01-01 12:00:00 null 2013-01-02 12:00:00 null 2013-01-03 12:00:00 

Разделите строку на каждую 18-ю позицию. Затем добавьте пробел на каждое значение массива на 10-й позиции.

 $k = "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00"; $a = str_split($k, 18); $a = array_map(function($dt) { return implode(' ', str_split($dt, 10)); }, $a); print_r($a); 

Демо .


Если вы хотите добавить символ в N-ю позицию:

 $k = "2013-01-0112:00:002013-01-0212:00:002013-01-0312:00:00"; echo implode(',', str_split($k, 18)); // ^ ^ // character N-th position 

Демо .