Klippe og hive ud af en lua-fil

Tags:    php

Hej, jeg er gået igang med at hjælpe en ven med en hjemmeside til en world of warcraft guild. Han har fundet et AddOn som der kan eksportere en masse information om en guild bare ved at klikke. Nu har jeg så den opgave at jeg skal få php til at læse den information. Filen jeg skal hive information ser sådan ud:
Fold kodeboks ind/udKode 

Evt. download her: http://svendbenno.dk/filer/CharacterProfiler.lua

Filen jeg har hivet ud med indtil videre ser sådan her ud:
Fold kodeboks ind/udKode 

(det information jeg hiver ud her starter på linje 909 i filen.)

Det virker fint men ved bare at slette et mellemrum i koden kunne ændre en masse. Så jeg tænkte om man ikke kunne gøre det på en smartere måde? Jeg tænker på noget lidt ala json_decode(http://dk.php.net/json_decode). Jeg har prøvet med regular expressions men det endte rigtigt dårligt mest fordi jeg mangler nogle færdigheder på det område(evt. post kode hvis regular expressions er den eneste måde :D).

Håber ikke det blev for langt :)
Hilsen Svend



Indlæg senest redigeret d. 28.01.2009 14:17 af Bruger #14210
3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Der er allerede en der har været der, her er en lua parser som virker på samme måde som json_decode: http://fin.instinct.org/lua/lua2phparray.phps



Hvis det er lua kan du så ikke loade det i en lua "loader" eller noget? mener der findes noget der kan håndtere det (ligesom der er xml komponenter der kan læse xml).

Alternativt vil jeg synes at du skulle løbe filen igennem linie for linie og så isolere kun parse ["navn"] = "værdi", så kan du jo lave et dobbeltarray eller noget, som i det ene array har navne, og den tilsvarende plads i det andet array indeholder værdien... så må det være nemmere at arbejde med.



Ok tak. Jeg tror også det bliver noget lignende det. Hvor jeg så bare kører det igennem linje for linje og så læser det med regular expressions så jeg kan lægge det ind i et array :)



t