Включая разрывы строк и маркеры в функции графического сообщения Facebook

Я пытаюсь разрешить моим пользователям размещать маркированный список из моего webapp в свой фид Facebook. Список создается в форме (с пулями и разрывами строк), которые затем могут быть отредактированы и отправлены.

Мой код отлично работает при отправке обычного текста (отправка содержимого формы в фид FB), но он прерывается, когда сообщение имеет (● ) и разрывы строк ( ) не распознаются ,

Я пробовал кучу разных способов кодирования сообщения, но никто из них не работает. Вот моя функция FB:

  <script> window.fbAsyncInit = function() { FB.init({ appId : '(MYID)', xfbml : true, version : 'v2.0' }); FB.login(function(){ FB.api('/me/feed', 'post', {message: '<?=$share_text;?>'}); }, {scope: 'publish_actions'}); }; (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> 

Мои вопросы: как я должен кодировать $share_text , который поступает из формы POST, и должен ли я использовать другой способ писать пули и разрывы строк, чтобы Facebook понимал, что есть пули и разрывы строк?

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

EDIT: Я сузил проблему до разрывов строк. Я могу отправлять пули в FB, если в тексте нет разрывов строк. Я думаю, проблема заключается в том, что html-кодирование < <BR /> включает ; «S.

благодаря

Догадаться. Проблема заключалась в том, что линия ломается сама.

Мое решение состояло в том, чтобы взять входной nl2br($input) textarea $input , изменить все разрывы строк на <br /> через nl2br($input) ,

замените все <br /> на \r\n\r\n через str_replace('<br />','\r\n\r\n',nl2br($input)) потому что Facebook распознает \r\n\r\n как новая строка

и затем удалите все скрытые разрывы строк через preg_replace( "/\r|\n/", "",str_replace('<br />','\r\n\r\n',nl2br($share)));

Принимая ввод формы пользователя и запуская ее через эту последнюю функцию preg_replace можете прочитать ее в Facebook и опубликовать бюллетень с разрывами строк!