使用“[string]”查找所有字符并将其转换为数据数组

时间:2018-06-01 01:21:12

标签: php regex string

我有一些像

这样的文字值
$str = 'A quick [color] [animal] [action] over the lazy dog.';

我想找到所有带有“[”和“]”的数据,所以如果我有一个很长的文本生病,只需做[phone_number]或其他什么。我可以将其变为数组值吗?

我想要的输出:

$array = ('[color]','[animal]','[action]');

因为我稍后将使用此str_replace()。反正有吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您想使用preg_match_all

$str = "A quick [color] [animal] [action] over the lazy dog.";
preg_match_all("/\[[^\]]*\]/", $str, $matches);
echo json_encode($matches); // [["[color]","[animal]","[action]"]]