Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Генератор случайного текста
Этот класс предназначен для добавления в текст случайных слов из указанного списка. Потребность может быть вызвана, например, для формирования ссылок на Ваш сайт для предотвращения "склейки" ссылок поисковыми системами.
Например, строка: "Моя голова (машет|трясет|кивает|шевелит) ушами" может быть возвращена как:Моя голова машет ушами
Моя голова трясет ушами
Моя голова кивает ушами
Моя голова шевелит ушами
(Пример: Моя голова (машет|трясет|кивает|шевелит) ушами)
class alternate
{
var $s;
var $pattern;
function ms()
{//seeding
list($usec, $sec) = explode(' ', microtime());
return (float)$sec + ((float)$usec * 100000);
}
function bracket($str)
{ //returns bracket code
if (!strcmp($str, "(")){
return 1;
} elseif (!strcmp($str, ")")) {
return -1;
} else {
return 0;
}
}
function __construct($s = "")
{
$this->ms();
$this->s = $s;
$this->pattern = "/\(([^\(]*?)\)/m";
while (preg_match($this->pattern, $this->s) != 0) $this->s = preg_replace_callback($this->pattern, function ($matches) {
$store = explode("|", $matches[1]);
$rand_key = $store[array_rand($store, 1)];
return $rand_key;
}, $this->s);
}
}
$str=htmlspecialchars($_GET['str']);
if (!empty($str)) {$alter=new alternate ($str);
print "<br>\nИсходная строка: <b>".$str."</b><br>\nРезультат: <b>".($alter->s)."</b><br>\n";}
<p>
<form name="form" method="get">
Строка для преобразования:
<input name="str" type="text" style="width:300px;">
</form>
</p>
Вы можете скачать скрипт в виде архива генератора случайного текста.
Упрощенный вариант, когда исходный набор слов для генератора определен в виде массива:
$ar=array('машет','трясет','кивает','шевелит');
echo "Моя голова ".$ar[array_rand($ar,1)]." ушами";
Каждый раз при обновлении страницы будет выдано случайное слово из массива:
Моя голова машет ушами
.
Прокомментировать/Отблагодарить