Просто, чтобы завершить ответ Тома, у меня были похожие потребности в одном из моих проектов, здесь мой класс - хитрая функция, словарь непосредственно встроен в файл PHP.
/**
* Generate bunch of english Lorem Ipsum.
*
*
*
* @category Tool
* @package Tool
* @version
*/
class RandomWord
{
/**
* List of words in the dictionnary
*
* @var array
*/
static private $_words = array();
/**
* Load the dictionary.
*
* This would load the dictionnary embedded in this PHP file
*/
static public function loadDictionnary()
{
$fp = fopen(__FILE__, 'r');
$halted = false;
while (($line = fgets($fp, 4096)) !== false) {
if ($halted == false) {
if (preg_match('/__halt_compiler\(\);/', $line)) {
$halted = true;
}
} else {
list($word, $dummy) = explode("\t", $line);
array_push(self::$_words, $word);
}
}
fclose($fp);
}
/**
* Pickup a random word from the dictionnary
*
* @return string
*/
static public function random()
{
if (!count(self::$_words)) {
self::loadDictionnary();
}
return self::$_words[array_rand(self::$_words)];
}
/**
* Generate a number of paragraph of random workds
*
* @param integer $numberOfWords
* @param integer $paragraph
* @return string
*/
static public function loremIpsum($numberOfWords = 20, $paragraph = 1)
{
$ret = '';
for ($i = 0; $i < $paragraph; $i++) {
for ($v = 0; $v < $numberOfWords; $v++) {
$ret .= self::random() . ' ';
}
if ($paragraph > 1) {
$ret .= "\n";
}
}
$ret = substr($ret, 0, strlen($ret) - 1);
return $ret;
}
}
__halt_compiler();
's gravenhage |h
'tween |v
'tween decks |v
.22 |N
0 |NA
1 |NA
1-dodecanol |N
1-hitter |N
10 |NA
100 |NA
1000 |NA
10000 |N
100000 |N
1000000 |N
1000000000 |N
1000000000000 |N
1000th |A
100th |A
10th |A
11 |NA
11-plus |N