[英]How to parse a command line type instruction with PHP?
我有一個基於文本的游戲的想法,在該游戲中,我會將命令和參數傳遞給php,以決定下一步如何處理玩家。
我會在AJAX表單中輸入說“向北”或諸如“使用鑰匙門”之類的更復雜的信息,該命令會將命令發送到php腳本,我希望php腳本知道它正在使用什么操作,例如“ use”和還有第一個和第二個參數“ key”和“ door”,並決定下一步該怎么做,但是我不確定如何去做。
請注意,我不想從命令行運行此命令,而是從基於Web的界面運行。
在我看來,如果您使用的是Ajax,則可以使用get
或post
因此在您的php腳本中,您只需檢查$_GET
或$_POST
。
您可以從一個請求(文本區域,輸入)獲取整個參數字符串。 您可以從_GET
或_POST
獲得此信息。 至於如何處理信息,則必須構建一個解析器。 它的復雜程度取決於您。 您可以做的更簡單的事情之一就是將請求按空格分割成令牌(您將獲得“ go”,“ north”或“ use”,“ key”,“ door”)。 檢查您的關鍵字列表,以將操作添加到堆棧中(執行,使用),並將actor和actees添加到堆棧中(鍵,門,北)。 扔掉不必要的單詞(上,下,等)。 然后遍歷堆棧。 如果您獲得“使用”,則需要緊隨其后的兩個參數(演員和演員,例如,使用門上的鑰匙)。 如果您缺少此信息,或者它是胡扯的(請使用Foon),請告訴用戶該命令無效。 給他們一個常用命令列表。 您可能還希望為某些對象和拼寫錯誤給他們一些余地。 您還可以閱讀有關詞法分析器的更多信息,以更好地了解如何以更復雜的方式執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.