PHP仅当行不以';结尾时才分解字符串';

PHP仅当行不以';结尾时才分解字符串';,php,parsing,explode,Php,Parsing,Explode,我正在用PHP为脚本编程语言编写解析器。该脚本语言的语法如下所示: ZOMFG &This is a comment (show "Hello, World\!"); ZOMFG &This is a comment ! on multiple ! lines. (show ! "Hello, ! World\!! "); 这是一个用这种语言编写的页面,显示Hello,World!在浏览器中。但我也可以有这样的代码: ZOMFG &This is a comment

我正在用PHP为脚本编程语言编写解析器。该脚本语言的语法如下所示:

ZOMFG
&This is a comment
(show "Hello, World\!");
ZOMFG
&This is a comment !
on multiple !
lines.
(show !
"Hello, !
World\!!
");
这是一个用这种语言编写的页面,显示Hello,World!在浏览器中。但我也可以有这样的代码:

ZOMFG
&This is a comment
(show "Hello, World\!");
ZOMFG
&This is a comment !
on multiple !
lines.
(show !
"Hello, !
World\!!
");
现在我使用
explode(“\n”,$content)
将页面内容分解为一个数组,该数组的每一行代码都在一个单独的索引中。 所以

变成:

array('ZOMFG', '&This is a comment', '(show "Hello, World\!");');
当一行以字母结尾时!(除非!转义为\!)时,它应将该行添加到数组中,包括作为单个元素添加到数组中的以下行。所以

&This is a comment !
on multiple !
lines.
变成

&This is a comment on multiple lines.

有人知道怎么做吗

您应该能够使用带有负回溯的preg_split

(我正在寻找一个例子)


<代码> $Line=PrimgSeple(‘好主意,但这不会影响从连接的线中剥离.n组合的结果。谢谢工作的人。一个问题:仍然存在于中间。有人知道如何修复吗?”