Очень плохо разбираюсь в регулярных выражениях, заранее извините!
Я изо всех сил пытался понять, как разбить строку на массив с двумя разделителями и при этом захватить один и включить его в окончательный массив. 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>
Я был бы очень признателен за любую помощь, которую вы, ребята, можете дать, спасибо всем!