我需要从以[
开头并以]
结尾的字符串中的所有文字填充数组。
例如:
这里有一些文字[待办事项]和其他东西[/ find] 作品是[对象]和[tada]
这应该返回一个如下数组:
array('[to do]', '[/find]', '[object]', '[tada]');
我怎样才能快速完成?并按照文本中的顺序排列?
方括号内可以有任何字符。我只需要抓住它们,加上两个括号。
答案 0 :(得分:1)
$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]);
答案 1 :(得分:0)
您可以使用preg_match_all
。
preg_match_all('/\[(.*?)\]/', $text_to_filter, $array);
$array
将包含您的匹配。
但它不适用于嵌套的方括号。