5

昨夜、頭の中で考えて目が覚めました:PHPを使用して、自然に聞こえるランダムな単語を生成できますか? (Lorem ipsum の詩のように)。

  1. 1 文字の単語: 'a,e,i,o,u'
  2. 2 文字の単語: 母音と子音の任意の組み合わせ。
  3. 最大単語長は 6 文字だと思います。

目的は、Web サイト テンプレートのスペースを「Lorem ipsum」の代わりにこれで埋めるか、特定の PHP スクリプトのテスト メールを送信して mail() が機能することを確認することです。

しかし、それがどのように機能するかについての私の考えは、PHPがランダムな長さの単語を生成し、それぞれ1〜6文字で、「1文字の単語を2つ並べない」または「いいえ」などのいくつかの「これをしない」ルールを使用することです3 つの母音が連続している」または「3 つの子音が連続していない」を検出し、文の 4 ~ 8 語の後に句読点と大文字を自動的に追加します。

これはまったく可能でしょうか?もしそうなら、私が実装できる既存のクラスまたは関数はありますか?

4

1 に答える 1

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 構文解析フレームワークについては知りませんが、それらを作成するためのベスト プラクティスを参照してください:プログラミング言語パーサーを作成するためのベスト プラクティス

于 2012-06-27T15:44:26.367 に答える