preg_split строка на пары букв

У меня слишком много проблем с этой простой проблемой: разбить строку на массив двухсимвольных значений, т.е.

$string = 'abcdefgh';

// With the correct regex, should return ['ab','cd','ef','gh'];
$array = preg_split("/?????/",$string);

Что за проклятое регулярное выражение?


person Ben    schedule 25.05.2011    source источник


Ответы (2)


Вместо этого используйте str_split().

$chunks = str_split($string, 2);
person alex    schedule 25.05.2011
comment
Опять же, @alex. Быстро и просто. Ваше здоровье. - person Ben; 25.05.2011

Подсказка: если вы разделите символы на ON, вы получите массив из 4 пустых элементов.

eg.

/../i

Я не думаю, что preg_split - это то, что вам нужно, возможно, preg_match_all? например.

$cnt = preg_match_all('/../i', $string, $matches);

person Jarret Minkler    schedule 25.05.2011
comment
Да, это именно то, что происходит. Ах, это очень полезно. Спасибо! - person Ben; 25.05.2011
comment
Добро пожаловать, с str_split (ниже) я также отметил, что вы должны быть осторожны с символами UTF-8, поскольку str_split имеет длину в байтах. - person Jarret Minkler; 25.05.2011