AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Генератор случайного текста

Этот класс предназначен для добавления в текст случайных слов из указанного списка. Потребность может быть вызвана, например для формирования ссылок на Ваш сайт для предотвращения "склейки" ссылок поисковыми системами.
Например, строка: "Моя голова (машет|трясет|кивает|шевелит) ушами" может быть возвращаена как:
Моя голова машет ушами
Моя голова трясет ушами
Моя голова кивает ушами
Моя голова шевелит ушами

Строка для преобразования:
(Пример: Моя голова (машет|трясет|кивает|шевелит) ушами.)


class alternate {
 var $s;
var $pattern;

    function ms () {
//seeding
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
    srand(make_seed());

      }
  function bracket ($str) {
  //returns bracket code
   if (!strcmp($str,"(")) {return 1;}
   elseif (!strcmp($str,")")) {return -1;} else {return 0;}

        }

  function alternate ($s="") {
  $this->ms();
  $this->s=$s;
  $this->pattern="/\(([^\(]*?)\)/m";
  while (preg_match($this->pattern,$this->s)!=0)
  $this->s=preg_replace_callback ($this->pattern,
  create_function ('$matches',
	'$store=explode("|",$matches[1]);
	$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)]." ушами";

Каждый раз при обновлении страницы будет выдано случайное слово из массива:

Моя голова кивает ушами

. Мы продаем газовое оборудование и комплектующие! Весь ассортимент на http://www.gazg.ru

© Copyright 2008-2016 by KDG