sprintf в PHP push-уведомлении - PullRequest
0 голосов
/ 29 сентября 2018

Я использую PHP для отправки уведомлений подписавшимся пользователям, когда в базе данных присутствуют определенные значения -

Я использую формат

'body' => sprintf(trim($event['deviceName']) . ' went to ' . trim($event['deviceStatus']) . ' mode %s' .trim($event['deviceMessage']), date('H:i')),

И результат:

Alarm One went to Activated mode 15:30 User Set

Я пробовал% c \ n \ v \ r в нескольких вариациях и позициях - используя двойные кавычки и т. Д. - Я не могу отформатировать сообщение для отображения в виде:

Alarm One went to Activated Mode at 15:30
User Set

с помощью 'deviceMessage' на новой строке - в Windows использование \ n помещает его в новую строку, но отображает \ n в push-уведомлении - на Android он просто добавляет \ n к строке

1 Ответ

0 голосов
/ 29 сентября 2018

Использование внешних переменных внутри параметра формата sprintf - это очень плохая идея .Перепишите ваш код следующим образом: он содержит \r\n в двойных кавычках:

sprintf("%s went to %s mode %s\r\n%s",
    trim($event['deviceName']),
    trim($event['deviceStatus']),
    date('H:i'),
    trim($event['deviceMessage'])
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...