2012-06-27 38 views
5

我在我的腦海昨晚醒來了一個想法:能否PHP被用來生成聽起來自然隨意的話呢? (就像Lorem ipsum經文)。自然語言生成的PHP

  1. 詞是單字母: 'A,E,I,O,U'
  2. 詞是雙字母:元音和輔音的任何組合。
  3. 最大字長是我想六個字母。

目的是爲了填補網站模板上的空間而不是'Lorem ipsum',或者發送測試郵件給某些PHP腳本以確保mail()正常工作。

但我它是如何工作的想法是,PHP會產生隨機長度的話,1-6每個字母,用幾個「不這樣做」喜歡「沒有兩個單字母詞規則彼此相鄰「或者」沒有連續三​​個元音「或者」沒有連續三​​個輔音「,並且在4到8個單詞之後自動添加標點和大寫。

這將是在所有可能的,如果是這樣,在那裏我可以實現任何預先存在的類或函數?

+1

我沒有看到你的建議,任何將是不可能的。所以,答案可能是「是的,這是可能的」 - 但這真的是你的問題嗎? – ametren

+0

可能嗎?當然。 factible?我不會那麼肯定。也許它可以通過一個簡單的序言腳本(或其他邏輯語言)來解決您的問題。那麼你可以從PHP調用它(只是我的惡棍,做任何你想要的) – Jarry

+0

@ametren - 編輯的問題,更多的尋找開始,而不是開始一個空白的PHP文檔,並試圖掏出我的腦海它的地方。 – ionFish

回答

2

您可以乘坐免費的上下文無關文法的方法:http://en.wikipedia.org/wiki/Context-free_grammar

<word> := <vowel> | <consonant><remaining word following consonant> | <vowel><remaining word following vowel> 
<vowel> := a|e|i|o|u 
<consonant> := b|c|d|f|g|... 
<word following vowel> := <consonant><remaining word following consonant> 
...and so on 

實現任何程序語言的語法(C和PHP在內),然後開始生成基於語法的話。

我不知道任何的通用PHP解析框架,但你可以看一下最佳實踐編寫他們:Best practices for writing a programming language parser