PHP - нужно заполнить массив из текста - PullRequest
0 голосов
/ 19 сентября 2011

Мне нужно заполнить массив из всего текста, внутри строки, которая начинается с [ и заканчивается ].

Например:

вот некоторый текст [чтобы сделать] и что-то еще [/ find] для способа, которым это работает [объект] и [тада]

Это должно вернуть массив следующим образом:

array('[to do]', '[/find]', '[object]', '[tada]');

Как я могу сделать это быстро? И в том же порядке, что и в тексте?

В квадратных скобках могут быть любые символы. Мне просто нужно схватить их все, плюс обе скобки.

Ответы [ 2 ]

1 голос
/ 19 сентября 2011
$subject = "here is some text [to do] and something else [/find] for the way this works is [object] and [tada]";
preg_match_all("/\[[^\[\]]+\]/", $subject, $out);
var_dump($out[0]);
0 голосов
/ 19 сентября 2011

Вы можете использовать preg_match_all.

preg_match_all('/\[(.*?)\]/', $text_to_filter, $array);

$array будет содержать ваши совпадения.

Это не будет работать с вложенными квадратными скобками, хотя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...