Как прочитать / получить содержимое тела текстового сообщения?

Я собираюсь использовать SMS на веб-сервер, который будет пересылать входящие текстовые сообщения на мой веб-сервер.

Тело сообщения будет содержать несколько коротких кодов, номер мобильного телефона и количество в формате. Мне нужно хранить детали отдельно к переменным.

Вот пример того, что я получу на своем веб-сервере методом POST:

$sender = "9999912345";
$date = "2017-04-14 13:04:40";
$message = "RCG ARTL 9700012345 50";

Мне нужно хранить содержимое $ message отдельно от переменных:

$cmd = "RCG";
$op = "ARTL";
$no = "9700012345";
$amt = "50";

Пожалуйста помоги!

0

Решение

<?php
$message = "RCG ARTL 9700012345 50";
list($cmd, $op, $no, $amt) = explode(" ",$message);

Вы можете проверить это.

1

Другие решения

Попробуйте этот код, используйте explode функция с пробелом в качестве разделителя, а затем убедитесь, что разнесенное сообщение (массив) содержит 4 ключа / значение.

    $cmd = '';
$op = '';
$no = '';
$amt = '';

$explodedMessage = explode(' ', $message);
if (count($explodedMessage)==4){
$cmd.=$explodedMessage[0];
$op.=$explodedMessage[1];
$no.=$explodedMessage[2];
$amt.=$explodedMessage[3];
}
1

Вы можете попробовать это.

$message = "RCG ARTL 9700012345 50";

list($cmd, $op, $no, $amount) = explode(' ', $message);

var_dump($cmd, $op, $no, $amount);

Выход:

string(3) "RCG"string(4) "ARTL"string(10) "9700012345"string(2) "50"
1

Вы можете преобразовать сообщение $ в массив, используя функцию разнесения, где разделитель будет пробелом. а затем можете получить к нему доступ, как вы хотите.

$message = "RCG ARTL 9700012345 50";
$messageArray = explode(" ", $message);
$someText = $messageArray[0];
1

Пожалуйста, попробуйте этот код:

$message = "RCG ARTL 9700012345 50";
$arr = explode(" ", $message);
$cmd = $arr[0];
$op = $arr[1];
$no = $arr[2];
$amt = $arr[3];
1
По вопросам рекламы [email protected]