如何在PHP中创建文本微调器

时间:2011-02-13 20:27:32

标签: php regex preg-match spinner preg-match-all

我正在尝试为这种文本创建一个解析器:

{{texta1|texta2|texta3} {texta11|texta22}|{textb1|textb2} {textb11|textb22}}

我设法让这个正则表达式~(?<={).*?(?=})~U工作以匹配第一个{和最后}内的主要内容,但是当我想要分割{a | b | c} | {aa | bb | cc}时爆炸我有问题,因为它不会将每个{}拆分成一个单独的数组但会拆分每个|,如果我使用} | {拆分它,那么输出会有点破坏,试图解析它以便以后旋转导致一个}和{将在输出中遗失。

是否有人使用正则表达式或类似代码的方法来执行此操作?

1 个答案:

答案 0 :(得分:0)

正则表达式不适用于构建解析器。这个网站上有一百万个帖子显示原因。这样的事情可能更适合http://php.net/manual/en/function.strtok.php