Tôi đang tìm các cách phân tích cú pháp dữ liệu văn bản có cấu trúc khác nhau trong PHP và nhận dữ liệu đó vào biểu đồ đối tượng PHP. Tôi đã thấy rất nhiều trình phân tích cú pháp khác nhau trong PHP cho một loạt các định dạng tệp dựa trên văn bản nhưng khá nhiều tất cả chúng dường như là một chuỗi các biểu thức chính quy giòn. Phải có cách tốt hơn!Phân tích cú pháp dữ liệu văn bản có cấu trúc trong PHP
Trong trường hợp cụ thể này, tôi đang tìm cách phân tích các tệp MT940 (giao dịch tài khoản ngân hàng). Nhưng tôi cũng đã gặp phải vấn đề tương tự với các định dạng tệp khác. Luôn luôn tôi kết thúc với một chuỗi lớn các regexes trở nên phức tạp để duy trì, đặc biệt là khi các định dạng khác nhau cần được hỗ trợ. MT940 cũng có vấn đề này. MT940 không phải là định dạng được xác định nghiêm ngặt và khá nhiều ngân hàng sử dụng phương ngữ hơi khác.
Vì vậy, làm thế nào để bạn thiết kế các trình phân tích cú pháp mạnh mẽ hơn và có thể mở rộng để xử lý các phương ngữ khác nhau?
Dưới đây là một ví dụ MT940 tuyên bố, lấy từ 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
-}
Tôi tự hỏi về bản thân mình, [ở đây.] (Http://stackoverflow.com/questions/7164318/parsing-markup-into-element-tree) –
Vô giá. Tôi đã tìm kiếm điều này, và quay trở lại để thêm một liên kết đến một dự án tôi chỉ tìm thấy .... Nhưng so sánh (tên) github của bạn với tên tài khoản của bạn .. Tôi đoán "cảm ơn vì đã bắt đầu https://github.com/ sandermarechal/jejik-mt940 ": D – Nanne