你好,我希望能夠像解析和緩存更高性能的元語言一樣。所以我需要能夠將元代碼解析爲對象或數組。使用preg_match解析PHP中的嵌套結構
Startidentifier:{
Endidentifier:}
您可以通過以點對象導航,但你也可以做算術/邏輯/關係運算()。
這裏是什麼樣的元語言看起來像一個例子:
- {} mySelf.mother.job.jobName
或嵌套
- {{自己MyObj中。{keys [「ObjProps」] [0]}。personAttribute.first} .size}
個或與操作
- {obj.val *(otherObj.intVal + myObj.longVal)== 1200}
或多個邏輯
- {obj.condition ==! myObj.otherCondition}
我想你們大部分人已經明白我想要什麼了。目前我只能做簡單的操作(沒有嵌套並且只有2個值),但是用動態屬性名稱獲取值的嵌套工作正常。文本concatination工作正常
例如, 「你好{myObj.name}!你好嗎{myObj.type}?」。
如果像(條件)一樣也可以做出短的? (true-case):(false-case)會很好,但我不知道如何解析所有這些東西。我目前正在使用一些正則表達式的循環,但如果我有更多的正則表達式,它可能會更快,更可維護。
所以任何人都可以給我一些提示或想幫助我嗎?也許訪問項目網站了解我需要什麼:http://sourceforge.net/projects/blazeframework/
在此先感謝!
如果你需要正則表達式的幫助,請給出幾個「之前」和「之後」的例子,以確定你想要的轉換類型。 (或者匹配[你想要提取的內容],如在這種情況下) – zebediah49 2010-08-05 21:48:03
你可能會更好地編寫一個解析器,只是消耗字符串將它們映射到某些預定義的標記,並相應地採取行動。足夠的例子在互聯網上'寫你自己的解析器'。 – Wrikken 2010-08-05 21:55:39
你應該改變你的目錄結構。如果我在十分鐘內甚至找不到解析器的代碼,它肯定會很糟糕。 – NikiC 2010-08-05 22:00:42