На страницу Пред. 1, 2, 3 |
|
|
kabab писал(а): |
IseeDeadPeople, спасибо за быстрый ответ. Да, скрипт работает, была моя ошибка. А хайд не могу пока посмотреть... Было бы классно если он еще обрамлял некоторые ключи в теги [b] [i] [u].
|
Ну можно сделать, некоторые, это какие!? Отдельный массив-строк сделать, которые будут выделены, или же случайно из основного $KEYS (единственного) брать !? Процент насыщения, наверно от 1 до 3 !? (это конечно на ходу можно скорректировать будет, даже в отдельную переменную выносить не надо будет, хотя сложно на самом деле, длины то слов разные, ну примерно предугадать наверно получится без строгой формулы) |
|
|
|
|
|
Случайно из $KEYS выбирал несколько кеев и обрамлял их тегами, или хотя бы ставил в стронг кей под который затачивается страница. Не знаю еще как добавить больше знаков препинаний - "?", "!", "-" и т.д. |
|
|
|
|
|
Код: |
$KEYS = "key11 key12
key2
key3
key21
key31
key21
key31
key2122222
key31222222
key2122222222
key3122222222
key212
key313
key214
key315
key2144
key31445
key2155
key31555411
key31311
key2141
key3151
key21441
key314451
key21551
key314451222
key21551333
key315554
keyX1 keyX2
keyX";
$ponitegi = array("\[b\],\[/b\]","\[u\],\[/u\]","\[i\],\[/i\]"); // В элементах все обратные слеши убрать. Выбирается случайный тег, можно добавить/сократить свои, массив любой размерности выше 1, разделитель в каждом элементе запятая, "начальный тег(,) конечный тег"
srand ((double) microtime() * 1000000);
mt_srand ((double) microtime() * 1000000);
function xtext ($strsize) { global $keys; $keysLocal = array(); $keysLocal = $keys; $keysLocal = array_unique($keysLocal); shuffle($keysLocal); if (!isset($strsize) || $strsize == "0" || strlen($strsize)<2) { $strsize = "4556"; $strsize = mint(mt_rand(mint($strsize/2), $strsize + mint($strsize/2))); } $ret = ""; $nextuf = "0"; while (strlen($ret)<$strsize && count($keysLocal)>0) { $k = array_shift($keysLocal); $k = trim($k); $selecter = mt_rand(1,21); $addel = ""; if ($selecter == "1") { $addel = strtolower($k)."."; $nextuf = "1"; } if ($selecter == "2") { $addel = strtolower($k)."."; $nextuf = "1"; } if ($selecter == "3") { $addel = strtolower($k).";"; } if ($selecter == "4") { $addel = strtolower($k).","; } if ($selecter == "5") { $addel = strtolower($k).","; } if ($selecter == "6") { $addel = strtolower($k).","; } if ($selecter >= "7") { $addel = strtolower($k)." "; }
if ($nextuf == "2") { $addel = ucfirst($addel); $nextuf = "0"; }if ($nextuf == "1") { $nextuf++; } $ret = $ret . trim($addel). " "; } return ucfirst(substr($ret, 0, strlen($ret)-1))."."; }
$lines = explode("\n", $KEYS);
$keys = array();
foreach ($lines as $line) {
if (mt_rand(1,100) < 10) { // 10, это и есть примерно процент насыщения
$keys[] = strtolower(trim($line));
shuffle($ponitegi); $tmp = $ponitegi["0"]; list($tmp1,$tmp2) = explode(",", $tmp);
$keys[] = $tmp1.strtolower(trim($line)).$tmp2;
} else { $keys[] = strtolower(trim($line)); }
}
shuffle($keys);
echo xtext(3000);
|
|
|
|
|
|
|
kabab писал(а): |
Не знаю еще как добавить больше знаков препинаний - "?", "!", "-" и т.д.
|
Замени на $selecter = mt_rand(1,21); напр, на $selecter = mt_rand(1,25);
Теперь у нас есть еще четыре свободные пони.
Далее там где
if ($selecter == "3") { $addel = strtolower($k).";"; } if ($selecter == "4") { $addel = strtolower($k).","; } if ($selecter == "5") { $addel = strtolower($k).","; } if ($selecter == "6") { $addel = strtolower($k).","; } if ($selecter >= "7") { $addel = strtolower($k)." "; }
Замени на
if ($selecter == "3") { $addel = strtolower($k).";"; } if ($selecter == "4") { $addel = strtolower($k).","; } if ($selecter == "5") { $addel = strtolower($k).","; } if ($selecter == "6") { $addel = strtolower($k).","; }
if ($selecter == "7") { $addel = strtolower($k)."?"; }
if ($selecter == "8") { $addel = strtolower($k)."?"; }
if ($selecter == "9") { $addel = strtolower($k)."!"; }
if ($selecter == "10") { $addel = strtolower($k)." - "; }
if ($selecter >= "11") { $addel = strtolower($k)." "; } |
|
|
|
|
|
|
|