我正在寻找各种(更好的)解析PHP中的结构化文本数据并将该数据导入到PHP对象图中的方法。我在PHP中看到了很多不同的解析器,用于各种基于文本的文件格式,但几乎所有这些解析器似乎都是一些易碎的正则表达式链。一定会有更好的办法!解析PHP中的结构化文本数据
在这个特定的情况下,我正在寻找解析MT940文件(银行帐户交易)。但是我也遇到了与其他文件格式相同的问题。总之,我最终会遇到一系列复杂的正则表达式,特别是在需要支持不同格式时。 MT940也有这个问题。 MT940不是一个严格定义的格式,几乎所有的银行都使用不同的方言。
那么,你如何设计更强大和可扩展的解析器来处理不同的方言?
下面是一个例子MT940声明,从this question采取:
{1:F01AHHBCH110XXX0000000000}{2:I940X N2}{3:{108:XBS/091502}}{4:
:20:XBS/091202/0001
:25:5887/507004-50
:28C:140/1
:60F:C0914CHF7789,
:61:0912021202D36,80NTRFNONREF//0887-1202-29-941
04392579-0 LUTHY + xxx, ZUR
:86:6034?60LUTHY + xxxx, ZUR vom 01.12.09 um 16:28 Karten-Nr. 2232
2579-0
:62F:C091202CHF52,2
:64:C091302CHF52,2
-}
我想知道这个我自己,[here。](http://stackoverflow.com/questions/7164318/parsing-markup-into-element-tree) – 2012-03-15 00:14:20
无价。我正在寻找这个,并回去添加一个链接到我刚刚找到的一个项目....但是比较(您的)github名称和您的帐户名称..我想“感谢您启动https://github.com/ sandermarechal/jejik-mt940“:D – Nanne 2012-03-27 15:19:51