На самом деле бедные в регулярных выражениях, извините заранее!
Я попытался изо всех сил разобраться, как разбить строку на массив с двумя разделителями и по-прежнему захватывать их и включать в последний массив. preg_split
кажется идеальным для этого, но мое регулярное выражение подводит меня.
Если, например, у меня есть строка foo = bar AND bar=foo
; Я хочу разбить строку либо на пробел, либо на символ =
но сохраните =
чтобы массив выглядел так:
Array ( [0] => foo [1] => = [2] => bar [3] => AND [4] => bar [5] => = [6] => foo )
К сожалению, я получаю следующее:
Array ( [0] => foo [1] => [2] => = [3] => [4] => bar [5] => AND [6] => bar [7] => = [8] => foo )
У меня есть этот код (в PHP):
<!doctype html> <?php $string = 'foo = bar AND bar=foo'; $array = preg_split('/ +|(=)/', $string, -1, PREG_SPLIT_DELIM_CAPTURE); ?> <pre> <?php print_r($array); ?> </pre>
Я бы очень признателен за любую помощь, которую вы, ребята, можете дать, спасибо всем!