мне нужно, чтобы захватить некоторые строковые массивы .. и я пытался, но я не могу: $PHP регулярное выражение preg_match_all: Захват текста между несколькими квадратными скобками
я это в моем коде:
<?php
$feed = "[['2013/04/03',8.300],['2013/04/04',8.320],['2013/04/05',8.400]]";
preg_match_all("/\[(.*?)\]/",$feed,$matches);
print_r($matches);
и возвращается:
Array
(
[0] => Array
(
[0] => [['2013/04/03',8.300]
[1] => ['2013/04/04',8.320]
[2] => ['2013/04/05',8.400]
)
[1] => Array
(
[0] => ['2013/04/03',8.300
[1] => '2013/04/04',8.320
[2] => '2013/04/05',8.400
)
)
, как я могу сделать с preg_match_all или preg_split .. или любой другой метод необходим, чтобы вернуть один массив элементов, таких как $ матчей [1] [1] или $ матчей [ 1] [2] ??
я имею в виду формат каждого элемента должен быть:
'2013/04/05',8.400
надежда ясно :)
и заранее спасибо !!
Возможно, я ошибаюсь, но пример выглядит как действительный массив JSON. Разве не было бы намного проще сделать 'json_decode', а затем просто использовать его как обычный массив? – pilsetnieks
Вы можете использовать '(? <=^\ [|,) \ [(. *?) \]'. – HamZa
или сделать ваше регулярное выражение более конкретным '\ [('\ d {4} \/\ d {2} \/\ d {2}', \ d + (?: \. \ D +)?) \]' – HamZa