上次出现分隔符之前的特定单词时PHP拆分数组

上次出现分隔符之前的特定单词时PHP拆分数组,php,Php,我有这样的数组: $array = "this is; some text delimiter; and brackets {here} some; sometext; text; again brackets {title} are here"; 我需要在“{”之前最后一次出现“;”时将其拆分,然后在“}”上拆分。像这样: Array( [0] => this is; some text delimiter; [1] => and brackets {here} [2

我有这样的数组:

$array = "this is; some text delimiter; and brackets {here} some; sometext; text; again brackets {title} are here";
我需要在“{”之前最后一次出现“;”时将其拆分,然后在“}”上拆分。像这样:

Array(
  [0] => this is; some text delimiter;
  [1] => and brackets {here}
  [2] => some; sometext; text;
  [3] => again brackets {title}
  [4] => are here
)
有人能告诉我怎么做吗?

好的,这是我的尝试:

$array = "this is; some text delimiter; and brackets {here} some; sometext; text; again brackets {title} are here";

$re = '/((?<=})\s)|(;(?=[^;]+{))/';
$split = preg_split($re, $array);

print_r($split);
$array=“这是;一些文本分隔符;和括号{here}一些;一些文本;文本;同样,括号{title}在这里”;

$re=/((?向我们展示你的代码和你遇到困难的具体部分,这样社区就可以真正帮助你,而不必猜测你遇到问题的部分。我很乐意这样做,但实际的代码有上百行,所以我只写了一个示例。我可以从花括号中提取任何内容,我可以在花括号中拆分or;但我需要的是在第一次出现时拆分;如果您从{and than split on}(我知道如何做的那部分)向后看,如果它“超过一百行”隔离了实际的问题代码并共享了它。我们期待一个。@PeeHaa,我认为这个问题很清楚(参见示例输出),不需要代码(因为OP想要什么还没有代码)。所以,codexy想找到括号之前最后出现的;。这是…不是这样的工作方式…我没有投反对票,但当你回答糟糕的问题时,有些人投反对票,因为这会鼓励更多的人写糟糕的问题。@Barmar,我猜。但是,这个问题并没有那么糟糕(很有趣,imho)毕竟,并没有尝试过(而且我确信很多高投票率的问题并没有操作代码尝试),但问题是1)描述得很好2)示例输出很清楚……如果这里有更多这样的问题……:)我也没有投反对票,但有人也投了反对票。我想我很清楚,我不能显示实际的代码,因为它太长了,而且我看不出显示尝试的任何目的,因为它们甚至都不接近正确。总之,谢谢你,@sinisake。这是一个很好的解决方案,我能够用很小的e实现这是我的代码同上。@sinisake若你们能解释更多关于这个正则表达式的内容,那个将是一个很好的答案。@Faisal,谢谢。我一回到PC,我就去做。
$re = '/((?<=})\s)|((?<=;) (?=[^;]+{))/';