2011-09-19 20 views
0

我需要從所有文本中填充一個數組,以[開始並以]結尾。PHP - 需要從文本中填充數組

例如:

這裏是一些文本[做]和別的事情[/查找]的方式這 作品爲[對象]和[田田]

這應該像這樣返回一個數組:

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

我該如何快速做到這一點?按照文本中的相同順序?

方括號內可以有任何字符。我只需要抓住它們,再加上兩個括號。

+0

用什麼語言? – Niklas

+0

在PHP語言中。對不起這個。 – SoLoGHoST

回答

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]); 
+0

非常感謝! – SoLoGHoST

0

您可以使用preg_match_all

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

$array將包含您的匹配。

儘管如此,它不適用於嵌套方括號。