Задать вопрос
Ответы пользователя по тегу PHP
  • Отправить в Post запросе жирный и «копируемый текст»?

    @SilimAl
    Telegram, VK, Instagram боты
    При parse_mode=HTML, жирный - < b>текст< /b>, выделяемый - < code>текст< /code> (пробелы после галок убрать)
    Ответ написан
    Комментировать
  • В чём ошибка, выводит Undefined offset?

    @SilimAl Автор вопроса
    Telegram, VK, Instagram боты
    Aleksey, благодарю, смысл я понял.. "Создавать" их при каждой итерации не вариант, нужно именно "докидывать" туда значения. Поставил проверку на "существование", предупреждение снято.
    foreach ($sql_myroutes as $value) {
       if (!isset($arr_showroutes[$arr_showroutes_i])) {
          $arr_showroutes[$arr_showroutes_i] = '';
       }
    .....
    }
    Ответ написан
    Комментировать
  • Как разделить строку на части по количеству символов с переносом по словам?

    @SilimAl Автор вопроса
    Telegram, VK, Instagram боты
    Коллеги, спасибо всем, кто не пожалел своего времени на заданный вопрос!
    Не зря говорят "Утро вечера мудренее..", сегодня с утра осенило ))

    Решение оказалось банально простым, нужно в конце исходной строки добавить пробел чтоб потом спокойно искать его последнее вхождение.

    В итоге мой конечный код выглядит так:

    function captionF($caption) {
        $encoding = 'UTF-8';
        $needMAXlength = '1024'; //Обрезаем до.. символов
        $caption = $caption . ' '; //Добавляем в конце пробел чтоб "точно был"
        $capI = 0;
        do {
            $captionarr[$capI] = mb_substr($caption, 0, $needMAXlength, $encoding);
            $captionarr[$capI] = mb_strrchr($captionarr[$capI], ' ', TRUE, $encoding);
            $caption = str_replace($captionarr[$capI], '', $caption);
            $capI++;
        } while (mb_strlen($caption, $encoding) > 1); //При ">0" скрипт падал..
        return $captionarr;
    }

    Ilyas Sarsenbaev предложил немного альтернативный вариант, его также попробовал адаптировав под свои реалии:

    function captionF($caption) {
        $encoding = 'UTF-8';
        $needMAXlength = '1024'; //Обрезаем до.. символов
        $caption = $caption . ' '; //Добавляем в конце пробел чтоб "точно был"
        $capI = 0;
        do {
            $captionarr[$capI] = mb_substr($caption, 0, $needMAXlength, $encoding);
            if ($caption[$needMAXlength] !== ' ') {
                $spacePosition = mb_strrpos($captionarr[$capI], ' ', $encoding);
                $captionarr[$capI] = mb_substr($caption, 0, $spacePosition, $encoding);
            }
            $caption = str_replace($captionarr[$capI], '', $caption);
            $capI++;
        } while (mb_strlen($caption, $encoding) > 1); //При ">0" скрипт падал..
        return $captionarr;
    }

    По затраченной памяти и скорости обработки оба скрипта примерно одинаковы, так что кому надо, можете использовать любой.

    Еще раз спасибо всем участвовавшим в обсуждении.
    Ответ написан
  • Как сделать "мнимую" страницу?

    @SilimAl
    Telegram, VK, Instagram боты
    Ответ написан
    Комментировать
  • Как получить доступ к значениям в теге?

    @SilimAl Автор вопроса
    Telegram, VK, Instagram боты
    Если вдруг кому надо..

    $xmlstr = $client->__doRequest($request, "https://tracking.russianpost.ru/rtm34", "getOperationHistory", SOAP_1_2);
    $xml = simplexml_load_string($xmlstr);
    $items = $xml->children('S', true)->Body->children('ns7', true)->getOperationHistoryResponse->children('ns3', true)->OperationHistoryData->historyRecord;

    Дальше берем кому что нужно

    $datetime = $item->OperationParameters->OperDate;
    $nameoperattr = $item->OperationParameters->OperAttr->Name;
    Ответ написан
  • Как сделать telegramm бот доступный всем?

    @SilimAl
    Telegram, VK, Instagram боты
    Поддерживаю предыдущее высказывание. Если вам нужно чтоб ответы бота были общедоступны - создавайте канал, подключайте туда бота и будет вам счастье.
    Ответ написан
    Комментировать
  • Возможен ли VK Bot на php без cron?

    @SilimAl
    Telegram, VK, Instagram боты
    Roman , зачем крон есть решение намного проще. Если вам нужно уведомление при новых событиях в группе, решение - обработка этих событий. На каждый тип события message_new, wall_post_new и т.д. прописываете обращение к api telegram для направления вам сообщения.
    $TGMtoken = '111111:000000000000';
    $TGMapi = 'https://api.telegram.org/bot'.$TGMtoken.'/';
    file_get_contents($TGMapi . 'sendMessage?chat_id=000(ваш телеграм)&text=Сообщение от пользователя в группе);
    Ответ написан
    Комментировать
  • Когда используется php://input и php://output?

    @SilimAl
    Telegram, VK, Instagram боты
    Но что в нем хранится то, в этом php://input? Как туда попадают данные?

    Запищите в переменную и выведите поток до json_decode:
    $fgc = file_get_contents('php://input');
    А потом $fgc отправьте себе же в сообщение и увидете json пакет который вам шлет VK, он же есть в "Запросах"-Callback API вашей группы.
    Ответ написан