我的价值看起来像这样......
{X}{Y}{Z}{R}{R}
我有2个问题,第一个问题,我怎么能爆炸它所以得到的数组看起来像这样......
Array
(
[0] => {X}
[1] => {Y}
[2] => {Z}
[3] => {R}
[4] => {R}
)
第二个问题是,我怎么能像这样爆炸......
Array
(
[0] => X
[1] => Y
[2] => Z
[3] => R
[4] => R
)
答案 0 :(得分:5)
您只需要:
$str = "{X}{Y}{Z}{R}{R}" ;
preg_match_all("/\{([A-Z])\}/", $str,$matches);
print_r($matches);
Array
(
[0] => Array
(
[0] => {X}
[1] => {Y}
[2] => {Z}
[3] => {R}
[4] => {R}
)
[1] => Array
(
[0] => X
[1] => Y
[2] => Z
[3] => R
[4] => R
)
)
这使用正则表达式\{([A-Z])\}
。一点一点,这意味着:
\{
匹配文字{
。(...)
正常匹配内容,但会捕获匹配的任何文字。
[A-Z]
匹配A
和Z
之间的任何字符。\}
匹配文字}
。我们使用preg_match_all
来查找此模式的所有实例。组0是整个匹配(包括大括号),组1仅包含使用括号捕获的数据。