Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
function get_rand($str,$l) {
$arr=explode($l, $str);
return $arr[array_rand($arr)];
}
function parse_rand($str,$arr=array()) {
$str=preg_replace('/\[(.*?)\]/e', 'get_rand("$1?,"/")', $str);
$str=preg_replace('/\((.*?)\)/e', 'get_rand("$1?,"|")', $str);
$str=preg_replace('/\{(.*?)}/e', '$arr[\'$1\']', $str);
return $str;
}
$text=parse_rand(
'(Привет|Здарова|Хрю) {name}, (Меня зовут|Моё имя|Я известен как) {myname}. МнеI (нравится|по-приколу) (ковырять в носу|полевать в потолок|стоять в очереди). (Если тебе тоже это интересно|Если тебе это противно|Если ты не голубой) (щелкни тут!|кликни здесь). И просто для проверки: (а [1/2/3] б|в [4/5/6] г)',
array(
'myname'=>'Супермен',
'name'=>'Владимир Владимирович',
)
ыыы.. Ну например,
PHP:... $str=preg_replace('/\[(.*?)\]/e', 'get_rand("$1?,"/")', $str); $str=preg_replace('/\((.*?)\)/e', 'get_rand("$1?,"|")', $str); ...
$str=preg_replace('/\[(.*?)\]/e', 'get_rand("$1","/")', $str);
$str=preg_replace('/\((.*?)\)/e', 'get_rand("$1","|")', $str);
$text = 'Вася пошел делать {кофе|чай|компот}
{с {сахаром|сахарозаменителем}|без сахара}';
echo $str = generate($text);
function generate($t) {
for($i=0;$i<6;$i++) // макс. уровень вложенности скобочек
$t = preg_replace_callback("#{([^{}]*?)}#ms", "callback", $t);
return $t;
}
function callback($matches) {
$v = explode('|',$matches[1]);
return $v[rand(0,count($v)-1)];
}