@unbot

Регулярные выражения?

Здравствуйте. Помогите создать регулярное выражение. Необходимо создать генератор чисел. Знаю про функцию rand(), что можно сделать только с ее помощью, но все устроено так, что необходимо сделать регулярку. В общем, человек посылает на сервер через форму текст = !rand 1-10. Сервер должен построить rand(1,10) и вывести результат. Как это реализовать?

Примерно код должен выглядеть так:

if(mb_strtolower($_POST['text']) == "регулярка"){ //регулярка - "!rand выражение"
    $rand = rand(); //как-то взять числа из регулярки
    echo $rand;
}


Буду очень благодарен помощи!
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
$string = '!rand 1-10'; // или $_POST['text'], как в вашем случае

$matches = [];

if (preg_match_all('/!rand (\d+)-(\d+)/', $string, $matches))
{
    $min = (int)$matches[1][0];
    $max = (int)$matches[2][0];

    echo rand($min, $max);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы