Как это реализовать?
'Тики, переверни (предложение)' => utf8_strevv("предложение")
Нужно как-нибудь взять предложение после слова "переверни" и внести его в utf8_strrev()
Код:
<?php
if (!isset($_REQUEST)) {
return;
}
$confirmationToken = 'скрыл';
$token = 'скрыл';
$secretKey = 'скрыл';
$data = json_decode(file_get_contents('php://input'));
if(strcmp($data->secret, $secretKey) !== 0 && strcmp($data->type, 'confirmation') !== 0)
return;
switch ($data->type) {
case 'confirmation':
echo $confirmationToken;
break;
case 'message_new':
$user_id = $data->object->from_id;
$user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&access_token=$token&v=5.80"));
$user_name = $user_info->response[0]->first_name;
$message = $data->object->text;
$url = 'https://vk.com/foaf.php?id='.$user_id;
$file = file_get_contents($url);
preg_match_all('#<ya:created dc:date="(.*)"/>#U', $file, $out, PREG_SET_ORDER);
if (isset($out[0])) {
$date = $out[0][1];
$dt = new DateTime($date);
}
$random_words = array (
'Орёл',
'Решка'
);
$random_word = $random_words[array_rand($random_words)];
function utf8_strrev($str)
{
preg_match_all('/./us', $str, $ar);
return join('', array_reverse($ar[0]));
}
$messages_array = [
'Тики, хелп' => "
Вся ваша реализация далеко не идеальна, рекомендую избавляться от хранения команда - ответ в массиве.
Но если для вас это удобно, этот вариант-велосипед должен подойти вам:
Короткий идентичный массив команд:
$messages_array = [
'Тики, привет' => 'Привет',
'Тики, переверни' => 'Введите текст!',
'Тики, как дела?' => 'Хорошо'
];
Сообщение, которое приходит боту:
$message = 'Тики, переверни предложение';
Проход циклом по командам, если в $message
есть начало команды, которая содержится в ключе массива $messages_array
, то выполняются условия выполнения функции utf8_strrev
:
foreach ($messages_array as $k => $v)
{
if ($message == $k)
$otvet = $v;
elseif (preg_match("/$k/", $message) && preg_match("~$k\s(.*)~", $message, $match))
$otvet = (!empty($match[1])) ? utf8_strrev($match[1]) : $v;
}
Далее используем $otvet
по назначению для отправки пользователю.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня в базе есть значение с UNIX временем, например: 1533414201
есть тег select с данными записи по времени, как сделать проверку из БД? если время занято, то делать поле неактивным
У меня есть класс с матрицей который вызывает другую функцию и туда её передает