Случайные варианты текста

Сниппет для вывода случайного варианта текста
При каждой перезагрузке будет выдает случайный текст по шаблону


Сам сниппет с именем str
function StrCharPosBack($haystack, $needle) {
    for ($i = strlen($haystack) ; $i>=0 ; $i--){
        if (substr($haystack, $i, 1) === $needle)
            return $i;
    }
    return false;
}

while (strpos($str, "{") !== false){
    $pos1 = strpos($str, "}");
    $buf_mas = substr($str, 0, $pos1);
    $pos2 = StrCharPosBack ($buf_mas, "{");
    $buf_mas = substr($buf_mas, $pos2+1);
    $exploded_buf_mas = explode ("|", $buf_mas);
    $rnd = rand(0, count($exploded_buf_mas)-1);
    $str = substr_replace($str, $exploded_buf_mas[$rnd], $pos2, $pos1+1-$pos2);
}

$str = (isset($str )) ? $str : '';
return $str ;


Вызов сниппета

[[!str? &str={Пожалуйста,|Просто} {постарайтесь сделать|сделайте} так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз|постоянно {изменялось|менялось} при {каждом {новом|повторном {и {невероятном|удивительном|очень {симпатичном|необычном}}}}} обновлении страницы}]]
Denis Chernavin
26 апреля 2018, 02:03
modx.pro
7
1 584
+6

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0