我试图做一些事情,一定是很简单,但我是相当新的PHP和我与这一个挣扎。 我想就是分裂含0,1个或多个分隔符(大括号),同时保持分隔符之间的字符串和字符串之外的字符串。
例如: '你好{F} {N},你怎么样?' 将输出:
Array ( [0] => Hello
[1] => {F}
[2] => {N}
[3] => , how are you? )
这里是我到目前为止的代码:
$value = 'Hello {F}{N}, how are you?';
$array= preg_split('/[\{\}]/', $value,-1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
print_r($array);
其输出(缺少括号):
Array ( [0] => Hello
[1] => F
[2] => N
[3] => , how are you? )
我也尝试:
preg_match_all('/\{[^}]+\}/', $myValue, $array);
其输出(括号是有,但外文本被刷新):
Array ( [0] => {F}
[1] => {N} )
我敢肯定,我很良好的跟踪与使preg_split上,而是用错了正则表达式。 谁能帮我这个? 或者告诉我,如果我的方式了吗?