Разрыв строки в Linkedin API - PullRequest
       42

Разрыв строки в Linkedin API

0 голосов
/ 21 октября 2019

Заголовок Linkedin API с возвратом каретки

Я использую возврат каретки на Linkedin Caption, чтобы отправить сообщение через Linkedin Share article API. Но при совместном использовании через API возвращается ошибка типа

"Тело запроса разбора ошибки в JSON. Недопустимый символ без кавычек ((CTRL-CHAR, код 10)): должен быть экранирован с использованием обратной косой чертыв строковом значении \ n в [Source: (com.linkedin.data.ByteString $ ByteArrayVectorInputStream) "

Есть ли способ решить эту проблему и передать возврат каретки в заголовке. Пожалуйста, помогите.

Я попытался заменить возврат каретки на "\ n", поскольку он выглядит как escape с использованием обратной косой черты, но у меня это не работает.

$ msg = 'test1 test2

    test3';

$ msg = preg_replace ("/ [^ A-Za-z] /", "\ n", $ msg);

Я пробовал выше, но снова я получилтот же ответ об ошибке от Linkedin API.

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

"test1 test2

test3"

Новместо этого он не получит сообщение для учетной записи пользователя, а выдает ошибку типа

"Ошибка синтаксического анализа тела запроса в JSON Недопустимый символ без кавычек ((CTRL-CHAR, код 10)): должен бытьэкранированный с использованием обратной косой черты для включения в строковое значение \ n в [Source: (com.linkedin.data.ByteString $ ByteArrayVectorInputStream) "

1 Ответ

0 голосов
/ 21 октября 2019

Чтобы вставить литерал \n в строку, вам необходимо экранировать обратную косую черту;в противном случае PHP понимает нотацию \n и изменит ее на фактическую новую строку, чего вы и пытаетесь избежать. Итак, напишите "\\n" вместо "\n" в своем фрагменте кода.

Но комментарий @ 04FS точно такой: вы не должны сами генерировать формат json! Поместите ваши данные в массив, не беспокоясь о выходящих символах новой строки и тому подобном, и используйте json_encode для сериализации.

...