xml — Как сохранить ответ API-интерфейса WhatsApp PHP в переменной

Я использую WhatsApp API со ссылкой

https://github.com/WHAnonymous/Chat-API/wiki/WhatsAPI-Documentation

Из этого урока я использую следующий код для получения сообщений:

    $username = $get_list['userid'];
$password = $get_list['password'];
$nickname = '';
$debug = "false";

$w = new WhatsProt($username, $nickname, $debug);
try {
$w->connect();
$w->loginWithPassword($password);
$w->sendMessage($username , '');
$s = $w->pollMessage();
} catch (Exception $e) {
echo "Sorry ". $e->getMessage();
}

Я получаю сообщения следующим образом:

tx  <stream:features>
tx    <readreceipts></readreceipts>
tx    <groups_v2></groups_v2>
tx    <privacy></privacy>
tx    <presence></presence>
tx  </stream:features>

tx  <auth mechanism="WAUTH-2" user="9195666669">����9195666669��/oNz|$%L�A#u)�1449637609</auth>

rx  <start from="s.whatsapp.net"></start>

rx  <stream:features></stream:features>

rx  <challenge>h�.� �z�It���_�*`�P</challenge>

tx  <response>����֖G�����C�NJ�qFz�o� #��NCve</response>

rx  <success t="1449637762" props="4" kind="free" status="active" creation="1449574308" expiration="1481110308">Ԕ��F��>����(�]I�</success>

tx  <presence name=""></presence>

tx  <message to="[email protected]" type="text" id="458GQvvffv1so0" t="1449637610" notify="">
tx    <body></body>
tx  </message>

rx  <ib from="s.whatsapp.net">
rx    <offline count="0"></offline>
rx  </ib>

rx  <presence from="[email protected]"></presence>

rx  <ack from="[email protected]" class="message" id="458GdQvvfv1so0" t="1449637762"></ack>

rx  <presence from="[email protected]" type="unavailable" last="1449637445"></presence>

Я не написал ни одного print_r() в коде, то только он печатает код. Я не хочу печатать этот код, а вместо этого хочу сохранить его в переменной. Как я могу сохранить его в переменной?

1

Решение

Если у вас был контроль над кодом, который вызывает print_rтогда вы можете отправить вывод непосредственно в переменную: $var_info = print_r($var,true); — Увидеть https://stackoverflow.com/a/5762520/3012550

Тем не менее, кажется, что вы не можете контролировать вывод, так как определение функции является частью библиотеки (строка 1788). Итак, вы можете использовать ob_start как описано здесь: https://stackoverflow.com/a/4798178/3012550

ob_start();
functionThatCallsPrintR();
$output = ob_get_clean();
// $output contains everything outputed between ob_start() and ob_get_clean()
1

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

Других решений пока нет …

По вопросам рекламы [email protected]